﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;
using STT.Business;
using STT.Entities;
using System.Collections.Generic;
using STT.Layer.Connection;
using System.Web;
using System.Net.Http;
using System.Globalization;
using System.Data.SqlTypes;
using System.Collections;


namespace STT.Admin.UserControls
{
    
    public partial class ucHocVien : System.Web.UI.UserControl
    {
        public bool chonSuaClick, isOpen;
        
        ToolBox tbx = new ToolBox();
        DateTime NgaySinh, NgayCapCMND, NgayHieuLucLuong, NgayVaoNganh, NgayVaoCoQuan, NgayTuyenDung, NgayVaoDang;
        string  MaDV, MaNgachLuong, BacLuong, HeSoLuong, HeSoBaoLuu, 
            HinhThucDaoTao, NganhNgheDT, MaNhomNL, ChucVu, PhongBan, DanToc, TinhTrangHopDong, ToNhom,
            LuongKhoan, SoBHXH, SoTheBHYT, SoCMND, NoiCapCMND, TrinhDoVanHoa, HocHam, HocVi, 
            TrinhDoQLKT, TrinhDoLLCT, TrinhDo, CongViecDangLam, 
            QueQuan, ChoOHienNay, Anh, HieuChinhThanNhan, DangVien, SDT, Email, ChucVuTrongLop, GhiChu;

        bool KiemTraCV, KiemTraPB, KiemTraTDVH, KiemTraTD, KiemTraDT, KiemTraDonVi,
             KiemTraMaNL, KiemTraBacLuong, KiemTraHSLuong, KiemTraLuongKhoan,
             KiemTraHSBL, KiemTraNganh, KiemTraHTDT, KTGiamDoc;
        bool KiemTraRong, KiemTraTonTai, Check, CheckNgaySinh, CheckHSL, CheckNgayHieuLucLuong, CheckHSBL, CheckCMND, CheckNgayCapCMND,
            CheckNgayVaoNganh, CheckNgayVaoCoQuan, CheckNgayTuyenDung, CheckNgayVaoDang, CheckSDT;

        public bool Import = true;
        List<string> error = new List<string>();
        string count;
        DateTime Date;
        //bool test=true;
        int MaDonVi;
        static string PathFile;
        static DataTable dtView = new DataTable();
        DataTable hv = BTbHocVien.SelectAll();
        DataTable cv = BTbChucVu.SelectAll();
        DataTable pb = BTbPhongBan.SelectAll();
        DataTable tdhv = BTbTDHocVan.SelectAll();
        DataTable tdcm = BTbTDChuyenMon.SelectAll();
        DataTable dToc = BTbDanToc.SelectAll1();
        DataTable MaNL = BTbMaNgachLuong.SelectAll();
        DataTable BL = BTbBacLuong.SelectAll();
        DataTable HSL = BTbHeSoLuong.SelectAll();
        DataTable LK = BTbLuongKhoan.SelectAll();
        DataTable HSBL = BTbHeSoBaoLuu.SelectAll();
        DataTable Nganh = BTbNganh.SelectAll1();
        DataTable HTDT = BTbHinhThucDaoTao.SelectAll();
        DataTable Tinh = BTbTinh_TP.SelectAll1();
        DataTable Xa = BTbXa_Phuong.SelectAll1();
        DataTable Huyen = BTbHuyen_Quan.SelectAll();
        DataTable NhomNL = BTbNhomNL.SelectAll();
        DataTable dv = BTbDonVi.SelectAllDonViHocVien();
        //string MaHV = "HV" + BTbHocVien.TaoMaHV();
        BTbDangNhap dn = new BTbDangNhap();
        System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");
        // muon tao ham gi
        ToolBox tb = new ToolBox();
        protected void Page_Load(object sender, EventArgs e)
        {
            LoadHocVien();
            //ThongBao(Session["TenDN"].ToString());
            DataTable dt = BTbGiangVien.GiangVien_LayDonVi(new ETbGiangVien
            {
                MaGV = Session["TenDN"].ToString()
            });
            MaDonVi = Int32.Parse(dt.Rows[0][0].ToString());
            plError.Visible = false;
            lbError.Text = "";
            error.Clear();
            btSaveImport.Visible = false;
            btSaveUpdate.Visible = false;
            btOpen.Visible = false;
            btEdit.Visible = false;
            ddlSelectSheet.Visible = false;
            //LoadDropDownList();

            //ThongBao(DateTime.Parse("28/10/1992", ci.DateTimeFormat).ToString("MM-dd-yyyy").ToString());
           
          
        }
        void LoadHocVien()
        {
            gvHocVien.AutoGenerateColumns = false;
            //gvHocVien.DataSource = tbx.GetDataTableByNguoiTao("TbHocVien_SelectAllCustom", Session["TenDN"].ToString());
            gvHocVien.DataSource = BTbHocVien.SelectAllCustomTest(new ETbGiangVien { MaGV = Session["TenDN"].ToString() });
            gvHocVien.DataBind();
            
        }

        bool KiemTraDuLieuInport(string MaHV, string CMT)
        {
            return BTbHocVien.KiemTraDuLieu(new ETbHocVien
            {
                MaHV = MaHV,
                SoCMT = CMT
            });
        }
        bool KiemTraGiamDoc()
        {
            return BTbHocVien.KiemTraGiamDoc(new ETbHocVien
            {
                MaDonVi = MaDonVi
            });
        }
        bool KiemTraMaHV(string MaHV)
        {
            return BTbHocVien.KiemTraMaHV(new ETbHocVien
            {
                MaHV = MaHV
            });
        }
        
        void ThongBao(string Loi)
        {
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "Thông báo!", "<script>alert('" + Loi + "')</script>", false);
        }

        protected void gvHocVien_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ChonSua")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                Response.Redirect("~/Admin/Default.aspx?idpage=ndshv&idhv=" + gvHocVien.DataKeys[index].Value.ToString().Trim());               
            }
        }

        protected void lbXoaTat_Click(object sender, EventArgs e)
        {
            //try
            //{
                for (int i = 0; i < gvHocVien.Rows.Count; i++)
                {
                    System.Web.UI.WebControls.CheckBox cbChon = (System.Web.UI.WebControls.CheckBox)gvHocVien.Rows[i].Cells[0].FindControl("cbChon");
                    if (cbChon != null && cbChon.Checked)
                    {
                        BTbDangNhap.DeleteByTenDN(gvHocVien.DataKeys[i].Value.ToString());
                        BTbHocVien_NgoaiNgu.DeleteByMaHV(gvHocVien.DataKeys[i].Value.ToString());
                        BTbHocVien_BangCap.Delete(gvHocVien.DataKeys[i].Value.ToString());
                        BTbHocVien.Delete(gvHocVien.DataKeys[i].Value.ToString());
                    }
                }

                LoadHocVien();
                Session["action"] = 3;
            //}
            //catch
            //{
            //    ThongBao("Dữ liệu liên quan đến một số Học viên vẫn tồn tại, vui lòng kiểm tra lại dữ liệu!");
            //}
        }
        #region// Check int, float, datetime
        bool CheckDateTime(string String)
        {
            if (DateTime.TryParse(String, out Date))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        bool CheckInt(string String)
        {
            int Int;
            if (Int32.TryParse(String, out Int))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        bool CheckFloat(string String)
        {
            float Float;
            if (float.TryParse(String, out Float))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        #endregion      

        protected void btSearch_Click(object sender, ImageClickEventArgs e)
        {
            DataTable dt = new DataTable();
            dt = BTbHocVien.SearchHocVien(new ETbHocVien
            {
                TenHV = txtTimKiem.Text,
                NguoiTao = Session["TenDN"].ToString()
            });
            gvHocVien.DataSource = dt;
            gvHocVien.DataBind();
        }
        protected void gvHocVien_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvHocVien.PageIndex = e.NewPageIndex;
            gvHocVien.DataBind();
        }

        protected void gvHocVien_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string MaHV = gvHocVien.DataKeys[e.RowIndex].Value.ToString();
            BTbHocVien_NgoaiNgu.DeleteByMaHV(MaHV);
            BTbHocVien_BangCap.Delete(MaHV);
            BTbDangNhap.DeleteByTenDN(MaHV);
            BTbBangDiem.DeleteByMaHV(MaHV);
            BTbHocVien_PhanLop.DeleteByMaHV(MaHV);
            BTbHocVien.Delete(MaHV);
            LoadHocVien();
            Session["action"] = 3;
        }

       

        protected void HyperLink2_Disposed(object sender, EventArgs e)
        {

        }

        protected void gvDSView_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvDSView.PageIndex = e.NewPageIndex;
            gvDSView.DataBind();
            LoadView();
        }
        
        void LoadView()
        {
            gvDSView.DataSource = dtView;
            gvDSView.DataBind();
        }

        protected void btOpen_Click(object sender, EventArgs e)
        {
            isOpen = true;
            pnDSView.Visible = true;
            plError.Visible = true;
            btSaveImport.Visible = true;
            btSave.Visible = false;
            ddlSelectSheet.Visible = true;
            dtView.Clear();
            error = new List<string>();
            OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathFile + ";Extended Properties=Excel 12.0;");
            OleDbCommand command = new OleDbCommand("SELECT * FROM [" + ddlSelectSheet.Text.Trim() + "]", OleDbcon);
            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(command);
            OleDbcon.Open();
            objAdapter1.Fill(dtView);
            LoadView();
            OleDbcon.Close();
            if (dtView.Rows.Count > 0)
            {
                for (int i = 0; i < dtView.Rows.Count; i++)
                {
                    KiemTraRong = true;
                    KiemTraTonTai = false;
                    Check = true; CheckNgaySinh = true; CheckHSL = true; CheckNgayHieuLucLuong = true; CheckHSBL = true;
                    CheckCMND = true; CheckNgayCapCMND = true; CheckNgayVaoNganh = true; CheckNgayVaoCoQuan = true;
                    CheckNgayTuyenDung = true; CheckNgayVaoDang = true; CheckSDT = true;
                    #region //Kiểm tra rỗng
                    KiemTraRong = true;
                    if (dtView.Rows[i]["Họ và đệm"].ToString().Trim().Equals("") || dtView.Rows[i]["Tên"].ToString().Trim().Equals("") ||
                        dtView.Rows[i]["Giới tính"].ToString().Trim().Equals("") || dtView.Rows[i]["Ngày sinh"].ToString().Trim().Equals("") ||
                        dtView.Rows[i]["Đơn vị"].ToString().Trim().Equals("") || dtView.Rows[i]["Số CMND"].ToString().Trim().Equals(""))
                    {
                        KiemTraRong = false;
                        error.Add("Lỗi bỏ trống trường Họ và đệm/ Tên/ Giới tính/ Ngày sinh/ Đơn vị/ Số CMND của học viên " + dtView.Rows[i]["STT"].ToString() + "!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại học viên
                    for (int a = 0; a < hv.Rows.Count; a++)
                    {
                        //ThongBao(DateTime.Parse(dtView.Rows[i]["Ngày sinh"].ToString(), ci.DateTimeFormat).ToString("MM-dd-yyyy"));
                        if (dtView.Rows[i]["Số CMND"].ToString().ToLower().Trim() == hv.Rows[a]["SoCMT"].ToString().ToLower().Trim())
                        {
                            KiemTraTonTai = true;
                            break;
                        }
                        else
                        {
                            KiemTraTonTai = false;
                        }
                    }
                    if (KiemTraTonTai)
                    {
                        error.Add("Học viên " + dtView.Rows[i]["STT"].ToString() + " đã tồn tại!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại cột và lỗi định dạng int, fload, datetime
                    #region Họ và đệm
                    if (!dtView.Columns.Contains("Họ và đệm"))
                    {
                        error.Add("Cột Họ và đệm không tồn tại");
                        break;
                    }
                    #endregion
                    #region Tên
                    if (!dtView.Columns.Contains("Tên"))
                    {
                        error.Add("Cột Tên không tồn tại");
                        break;
                    }
                    #endregion
                    #region Giới tính
                    if (!dtView.Columns.Contains("Giới tính"))
                    {
                        error.Add("Cột Giới tính không tồn tại");
                        break;
                    }
                    #endregion
                    #region Chức vụ
                    if (!dtView.Columns.Contains("Chức vụ/ Chức danh"))
                    {
                        ChucVu = "-1";
                    }
                    else
                    {
                        for (int b = 0; b < cv.Rows.Count; b++)
                        {
                            if (dtView.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == cv.Rows[b][1].ToString().ToLower().Trim())
                            {

                                ChucVu = cv.Rows[b][0].ToString().Trim();
                                if (KiemTraGiamDoc() && dtView.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == "giám đốc")
                                {
                                    KTGiamDoc = true;
                                    error.Add("Chức vụ giám đốc của học viên " + dtView.Rows[i]["STT"].ToString() + " thuộc đơn vị " + MaDonVi + " đã tồn tại!");
                                }
                                KTGiamDoc = false;
                                KiemTraCV = true;
                                break;
                            }
                            else
                            {
                                KiemTraCV = false;
                            }
                        }
                        if (!KiemTraCV)
                        {
                            ChucVu = "-1";
                            error.Add("Chức vụ của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Phòng ban
                    if (!dtView.Columns.Contains("Phòng ban"))
                    {
                        PhongBan = "-1";
                    }
                    else
                    {
                        for (int c = 0; c < pb.Rows.Count; c++)
                        {
                            if (dtView.Rows[i]["Phòng ban"].ToString().ToLower().Trim() == pb.Rows[c][1].ToString().ToLower().Trim())
                            {

                                KiemTraPB = true;
                                PhongBan = pb.Rows[c][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraPB = false;
                            }
                        }
                        if (!KiemTraPB)
                        {
                            PhongBan = "-1";
                            error.Add("Phòng ban của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Ngày sinh
                    if (dtView.Columns.Contains("Ngày sinh"))
                    {
                        //string time = DateTime.Parse(, ci.DateTimeFormat).ToString("MM-dd-yyyy").ToString()
                        if (!CheckDateTime(dtView.Rows[i]["Ngày sinh"].ToString()))
                        {
                            
                            error.Add("Kiểu dữ liệu ngày sinh của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                            CheckNgaySinh = false;
                        }
                        else 
                        {
                            //DateTime.Parse(DateTime.Parse("19/09/1992", ci.DateTimeFormat).ToString("MM-dd-yyyy"));
                            NgaySinh = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày sinh"].ToString()).ToString("MM-dd-yyy")); 
                        }
                    }
                    else
                    {
                        error.Add("Cột ngày sinh không tồn tại");
                        break;
                    }
                    #endregion
                    #region Dân tộc
                    if (!dtView.Columns.Contains("Dân tộc"))
                    {
                        DanToc = "";
                    }
                    else
                    {
                        for (int d = 0; d < dToc.Rows.Count; d++)
                        {
                            if (dtView.Rows[i]["Dân tộc"].ToString().ToLower().Trim() == dToc.Rows[d][1].ToString().ToLower().Trim())
                            {
                                DanToc = dToc.Rows[d][1].ToString().Trim();
                                KiemTraDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraDT = false;
                            }
                        }
                        if (!KiemTraDT)
                        {
                            DanToc = "";
                            error.Add("Dân tộc của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Tình trạng hợp đồng
                    if (dtView.Columns.Contains("Tình trạng hợp đồng"))
                    {
                        TinhTrangHopDong = dtView.Rows[i]["Tình trạng hợp đồng"].ToString().Trim();
                    }
                    else
                    {
                        TinhTrangHopDong = "";
                    }
                    if (dtView.Columns.Contains("Tổ nhóm"))
                    {
                        ToNhom = dtView.Rows[i]["Tổ nhóm"].ToString().Trim();
                    }
                    else
                    {
                        ToNhom = "";
                    }
                    #endregion
                    #region Mã ngạch lương
                    if (!dtView.Columns.Contains("Mã ngạch lương"))
                    {
                        MaNgachLuong = "";
                    }
                    else
                    {
                        for (int k = 0; k < MaNL.Rows.Count; k++)
                        {
                            if (dtView.Rows[i]["Mã ngạch lương"].ToString().ToLower().Trim() == MaNL.Rows[k][0].ToString().ToLower().Trim())
                            {
                                MaNgachLuong = MaNL.Rows[k][0].ToString().Trim();
                                KiemTraMaNL = true;
                                MaNhomNL = MaNL.Rows[k][2].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraMaNL = false;
                            }
                        }
                        if (!KiemTraMaNL)
                        {
                            MaNgachLuong = "";
                            error.Add("Mã ngạch lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Bậc lương
                    if (!dtView.Columns.Contains("Bậc lương"))
                    {
                        BacLuong = "";
                    }
                    else
                    {
                        for (int f = 0; f < BL.Rows.Count; f++)
                        {
                            if (dtView.Rows[i]["Bậc lương"].ToString().ToLower().Trim() == BL.Rows[f][0].ToString().ToLower().Trim())
                            {
                                BacLuong = BL.Rows[f][0].ToString().Trim();
                                KiemTraBacLuong = true;
                                break;
                            }
                            else
                            {
                                KiemTraBacLuong = false;
                            }
                        }
                        if (!KiemTraBacLuong)
                        {
                            BacLuong = "";
                            error.Add("Bậc lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hệ số lương
                    if (dtView.Columns.Contains("Hệ số lương"))
                    {
                        if (dtView.Rows[i]["Hệ số lương"].ToString().Trim() == "")
                        {
                            HeSoLuong = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dtView.Rows[i]["Hệ số lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSL = false;
                            }
                            else
                            {
                                for (int g = 0; g < HSL.Rows.Count; g++)
                                {
                                    if (dtView.Rows[i]["Hệ số lương"].ToString().ToLower().Trim() == HSL.Rows[g][0].ToString().ToLower().Trim() &&
                                        MaNhomNL == HSL.Rows[g][2].ToString().Trim())
                                    {
                                        HeSoLuong = HSL.Rows[g][0].ToString().Trim();
                                        KiemTraHSLuong = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSLuong = false;
                                    }
                                }
                                if (!KiemTraHSLuong)
                                {
                                    HeSoLuong = "-1";
                                    error.Add("Hệ số lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoLuong = "-1";
                    }
                    #endregion
                    #region Ngày hiệu lực lương
                    if (dtView.Columns.Contains("Ngày hiệu lực lương"))
                    {
                        if (dtView.Rows[i]["Ngày hiệu lực lương"].ToString().Trim() == "")
                        {
                            NgayHieuLucLuong = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày hiệu lực lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày hiệu lực lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayHieuLucLuong = false;
                            }
                            else { NgayHieuLucLuong = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày hiệu lực lương"].ToString()).ToString("MM-dd-yyyy")); }
                        }
                    }
                    else
                    {
                        NgayHieuLucLuong = DateTime.MinValue;
                    }
                    #endregion
                    #region Lương khoán
                    if (!dtView.Columns.Contains("Lương khoán"))
                    {
                        LuongKhoan = "";
                    }
                    else
                    {
                        for (int h = 0; h < LK.Rows.Count; h++)
                        {
                            //ThongBao(dt.Rows[i][15].ToString());
                            if (dtView.Rows[i]["Lương khoán"].ToString().ToLower().Trim() == LK.Rows[h][1].ToString().ToLower().Trim())
                            {
                                LuongKhoan = LK.Rows[h][1].ToString().Trim();
                                KiemTraLuongKhoan = true;
                                break;
                            }
                            else
                            {
                                KiemTraLuongKhoan = false;
                            }
                        }
                        if (!KiemTraLuongKhoan)
                        {
                            LuongKhoan = "";
                            error.Add("Lương khoán của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Hệ số bảo lưu
                    if (dtView.Columns.Contains("Hệ số bảo lưu"))
                    {
                        if (dtView.Rows[i]["Hệ số bảo lưu"].ToString().Trim() == "")
                        {
                            HeSoBaoLuu = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dtView.Rows[i]["Hệ số bảo lưu"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số bảo lưu của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSBL = false;
                            }
                            else
                            {
                                for (int j = 0; j < HSBL.Rows.Count; j++)
                                {
                                    if (dtView.Rows[i]["Hệ số bảo lưu"].ToString().ToLower().Trim() == HSBL.Rows[j][0].ToString().ToLower().Trim())
                                    {
                                        HeSoBaoLuu = HSBL.Rows[j][0].ToString().Trim();
                                        KiemTraHSBL = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSBL = false;
                                    }
                                }
                                if (!KiemTraHSBL)
                                {
                                    HeSoBaoLuu = "";
                                    error.Add("Hệ số bảo lưu của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoBaoLuu = "-1";
                    }
                    #endregion
                    #region Số BHXH
                    if (dtView.Columns.Contains("Số sổ BHXH"))
                    {
                        SoBHXH = dtView.Rows[i]["Số sổ BHXH"].ToString().Trim();
                    }
                    else
                    {
                        SoBHXH = "";
                    }
                    #endregion
                    #region Số thẻ BHYT
                    if (dtView.Columns.Contains("Số thẻ BHYT"))
                    {
                        SoTheBHYT = dtView.Rows[i]["Số thẻ BHYT"].ToString().Trim();
                    }
                    else
                    {
                        SoTheBHYT = "";
                    }
                    #endregion
                    #region Số CMND
                    if (dtView.Columns.Contains("Số CMND"))
                    {
                        if (dtView.Rows[i]["Số CMND"].ToString().Trim() == "")
                        {
                            SoCMND = "";
                        }
                        else
                        {
                            if (!CheckInt(dtView.Rows[i]["Số CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số CMTND của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckCMND = false;
                            }
                            else
                            {
                                SoCMND = dtView.Rows[i]["Số CMND"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SoCMND = "";
                    }
                    #endregion
                    #region Ngày cấp
                    if (dtView.Columns.Contains("Ngày cấp CMND"))
                    {
                        if (dtView.Rows[i]["Ngày cấp CMND"].ToString().Trim() == "")
                        {
                            NgayCapCMND = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày cấp CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày cấp CMTND của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayCapCMND = false;
                            }
                            else
                            {
                                NgayCapCMND = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày cấp CMND"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayCapCMND = DateTime.MinValue;
                    }
                    #endregion
                    #region Nơi cấp
                    if (dtView.Columns.Contains("Nơi cấp CMND"))
                    {
                        NoiCapCMND = dtView.Rows[i]["Nơi cấp CMND"].ToString().Trim();
                    }
                    else
                    {
                        NoiCapCMND = "";
                    }
                    #endregion
                    #region Trình độ văn hóa
                    if (!dtView.Columns.Contains("Trình độ văn hóa"))
                    {
                        TrinhDoVanHoa = "-1";
                    }
                    else
                    {
                        for (int h = 0; h < tdhv.Rows.Count; h++)
                        {
                            if (dtView.Rows[i]["Trình độ văn hóa"].ToString().ToLower().Trim() == tdhv.Rows[h][1].ToString().ToLower().Trim())
                            {
                                KiemTraTDVH = true;
                                TrinhDoVanHoa = tdhv.Rows[h][0].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraTDVH = false;
                            }
                        }
                        if (!KiemTraTDVH)
                        {
                            TrinhDoVanHoa = "-1";
                            error.Add("Trình độ văn hóa của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Học hàm
                    if (dtView.Columns.Contains("Học hàm"))
                    {
                        HocHam = dtView.Rows[i]["Học hàm"].ToString().Trim();
                    }
                    else
                    {
                        HocHam = "";
                    }
                    #endregion
                    #region Học vị
                    if (dtView.Columns.Contains("Học vị"))
                    {
                        HocVi = dtView.Rows[i]["Học vị"].ToString().Trim();
                    }
                    else
                    {
                        HocVi = "";
                    }
                    #endregion
                    #region Ngành nghề đào tạo
                    if (!dtView.Columns.Contains("Ngành nghề đào tạo"))
                    {
                        NganhNgheDT = "";
                    }
                    else
                    {
                        for (int j = 0; j < Nganh.Rows.Count; j++)
                        {
                            if (dtView.Rows[i]["Ngành nghề đào tạo"].ToString().ToLower().Trim() == Nganh.Rows[j][1].ToString().ToLower().Trim())
                            {
                                NganhNgheDT = Nganh.Rows[j][1].ToString().Trim();
                                KiemTraNganh = true;
                                break;
                            }
                            else
                            {
                                KiemTraNganh = false;
                            }
                        }
                        if (!KiemTraNganh)
                        {
                            NganhNgheDT = "";
                            error.Add("Ngành nghề đào tạo của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hình thức đào tạo
                    if (!dtView.Columns.Contains("Hình thức đào tạo"))
                    {
                        HinhThucDaoTao = "";
                    }
                    else
                    {
                        for (int j = 0; j < HTDT.Rows.Count; j++)
                        {
                            if (dtView.Rows[i]["Hình thức đào tạo"].ToString().ToLower().Trim() == HTDT.Rows[j][1].ToString().ToLower().Trim())
                            {
                                HinhThucDaoTao = HTDT.Rows[j][1].ToString().Trim();
                                KiemTraHTDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraHTDT = false;
                            }
                        }
                        if (!KiemTraHTDT)
                        {
                            HinhThucDaoTao = "";
                            error.Add("Hình thức đào tạo của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Trình độ QLKT
                    if (dtView.Columns.Contains("Trình độ QLKT"))
                    {
                        TrinhDoQLKT = dtView.Rows[i]["Trình độ QLKT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoQLKT = "";
                    }
                    #endregion
                    #region Trình độ LLCT
                    if (dtView.Columns.Contains("Trình độ LLCT"))
                    {
                        TrinhDoLLCT = dtView.Rows[i]["Trình độ LLCT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoLLCT = "";
                    }
                    #endregion
                    #region Ngày vào ngành
                    if (dtView.Columns.Contains("Ngày vào ngành"))
                    {
                        if (dtView.Rows[i]["Ngày vào ngành"].ToString().Trim() == "")
                        {
                            NgayVaoNganh = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày vào ngành"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào ngành của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoNganh = false;
                            }
                            else
                            {
                                NgayVaoNganh = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày vào ngành"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoNganh = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày vào cơ quan
                    if (dtView.Columns.Contains("Ngày vào cơ quan"))
                    {
                        if (dtView.Rows[i]["Ngày vào cơ quan"].ToString().Trim() == "")
                        {
                            NgayVaoCoQuan = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày vào cơ quan"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào cơ quan của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoCoQuan = false;
                            }
                            else
                            {
                                NgayVaoCoQuan = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày vào cơ quan"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoCoQuan = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày tuyển dụng
                    if (dtView.Columns.Contains("Ngày tuyển dụng"))
                    {
                        if (dtView.Rows[i]["Ngày tuyển dụng"].ToString().Trim() == "")
                        {
                            NgayTuyenDung = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày tuyển dụng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày tuyển dụng của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayTuyenDung = false;
                            }
                            else
                            {
                                NgayTuyenDung = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày tuyển dụng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayTuyenDung = DateTime.MinValue;
                    }
                    #endregion
                    #region Trình độ
                    if (!dtView.Columns.Contains("Trình độ"))
                    {
                        TrinhDo = "-1";
                    }
                    else
                    {
                        for (int l = 0; l < tdcm.Rows.Count; l++)
                        {
                            if (dtView.Rows[i]["Trình độ"].ToString().ToLower().Trim() == tdcm.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraTD = true;
                                TrinhDo = tdcm.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraTD = false;
                            }
                        }
                        if (!KiemTraTD)
                        {
                            TrinhDo = "-1";
                            error.Add("Trình độ của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Công việc đang làm
                    if (dtView.Columns.Contains("Công việc đang làm"))
                    {
                        CongViecDangLam = dtView.Rows[i]["Công việc đang làm"].ToString().Trim();
                    }
                    else
                    {
                        CongViecDangLam = "";
                    }
                    #endregion
                    #region Quê quán
                    if (dtView.Columns.Contains("Quê quán"))
                    {
                        QueQuan = dtView.Rows[i]["Quê quán"].ToString().Trim();
                    }
                    else
                    {
                        QueQuan = "";
                    }
                    #endregion
                    #region Chỗ ở hiện nay
                    if (dtView.Columns.Contains("Chỗ ở hiện nay"))
                    {
                        ChoOHienNay = dtView.Rows[i]["Chỗ ở hiện nay"].ToString().Trim();
                    }
                    else
                    {
                        ChoOHienNay = "";
                    }
                    #endregion
                    #region Ảnh
                    if (dtView.Columns.Contains("Ảnh"))
                    {
                        Anh = dtView.Rows[i]["Ảnh"].ToString().Trim();
                    }
                    else
                    {
                        Anh = "";
                    }
                    #endregion
                    #region Hiệu chỉnh thân nhân
                    if (dtView.Columns.Contains("Hiệu chỉnh thân nhân"))
                    {
                        HieuChinhThanNhan = dtView.Rows[i]["Hiệu chỉnh thân nhân"].ToString().Trim();
                    }
                    else
                    {
                        HieuChinhThanNhan = "";
                    }
                    #endregion
                    #region Đảng viên
                    if (dtView.Columns.Contains("Đảng viên"))
                    {
                        DangVien = dtView.Rows[i]["Đảng viên"].ToString().Trim();
                    }
                    else
                    {
                        DangVien = "";
                    }
                    #endregion
                    #region Ngày vào đảng
                    if (dtView.Columns.Contains("Ngày vào đảng"))
                    {
                        if (dtView.Rows[i]["ngày vào đảng"].ToString().Trim() == "")
                        {
                            NgayVaoDang = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["ngày vào đảng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào đảng của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoDang = false;
                            }
                            else
                            {
                                NgayVaoDang = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày vào đảng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoDang = DateTime.MinValue;
                    }
                    #endregion
                    #region SDT
                    if (dtView.Columns.Contains("SDT"))
                    {
                        if (dtView.Rows[i]["SDT"].ToString().Trim() == "")
                        {
                            SDT = "";
                        }
                        else
                        {
                            if (!CheckInt(dtView.Rows[i]["SDT"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số điện thoại của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckSDT = false;
                            }
                            else
                            {
                                SDT = dtView.Rows[i]["SDT"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SDT = "";
                    }
                    #endregion
                    #region Email
                    if (dtView.Columns.Contains("Email"))
                    {
                        Email = dtView.Rows[i]["Email"].ToString().Trim();
                    }
                    else
                    {
                        Email = "";
                    }
                    #endregion
                    #region CHức vụ trong lớp
                    if (dtView.Columns.Contains("Chức vụ trong lớp"))
                    {
                        ChucVuTrongLop = dtView.Rows[i]["Chức vụ trong lớp"].ToString().Trim();
                    }
                    else
                    {
                        ChucVuTrongLop = "";
                    }
                    #endregion
                    #region Ghi chú
                    if (dtView.Columns.Contains("Ghi chú"))
                    {
                        GhiChu = dtView.Rows[i]["Ghi chú"].ToString().Trim();
                    }
                    else
                    {
                        GhiChu = "";
                    }
                    #endregion
                    #region Đơn vị
                    if (!dtView.Columns.Contains("Đơn vị"))
                    {
                        error.Add("Cột đơn vị không tồn tại");
                        break;
                    }
                    else
                    {
                        for (int l = 0; l < dv.Rows.Count; l++)
                        {
                            if (dtView.Rows[i]["Đơn vị"].ToString().ToLower().Trim() == dv.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraDonVi = true;
                                MaDV = dv.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraDonVi = false;
                            }
                        }
                        if (!KiemTraDonVi)
                        {
                            error.Add("Đơn vị học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                            continue;
                        }
                    }
                    #endregion 
                    #endregion
                }
                for (int k = 0; k < error.Count; k++)
                {
                    count += " + " + error[k].ToString() + "<br/>";
                }
                if (error.Count > 0)
                {
                    plError.Visible = true;
                    lbError.Text = "Bạn kiểm tra lại thông tin học viên:" + "<br/>" + count;
                }

            }
        }

        protected void btSave_Click(object sender, EventArgs e)
        {
            error = new List<string>();
            OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathFile + ";Extended Properties=Excel 12.0;");
            OleDbCommand command = new OleDbCommand("SELECT * FROM [" + ddlSelectSheet.Text.Trim() + "]", OleDbcon);
            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(command);
            OleDbcon.Open();
            DataTable dt = new DataTable();
            objAdapter1.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string MaHV = tb.GetID("TbHocVien", "MaHV","HV");
                    KiemTraRong = false;
                    KiemTraTonTai = false;
                    Check = true; CheckNgaySinh = true; CheckHSL = true; CheckNgayHieuLucLuong = true; CheckHSBL = true;
                    CheckCMND = true; CheckNgayCapCMND = true; CheckNgayVaoNganh = true; CheckNgayVaoCoQuan = true;
                    CheckNgayTuyenDung = true; CheckNgayVaoDang = true; CheckSDT = true;
                    #region //Kiểm tra rỗng
                    KiemTraRong = true;
                    if (dt.Rows[i]["Họ và đệm"].ToString().Trim().Equals("") || dt.Rows[i]["Tên"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Giới tính"].ToString().Trim().Equals("") || dt.Rows[i]["Ngày sinh"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Đơn vị"].ToString().Trim().Equals("") || dt.Rows[i]["Số CMND"].ToString().Trim().Equals(""))
                    {
                        KiemTraRong = false;
                        error.Add("Lỗi bỏ trống trường Họ và đệm/ Tên/ Giới tính/ Ngày sinh/ Đơn vị/ Số CMND của học viên " + dt.Rows[i]["STT"].ToString() + "!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại học viên
                    for (int a = 0; a < hv.Rows.Count; a++)
                    {
                        if (dt.Rows[i]["Số CMND"].ToString().ToLower().Trim() == hv.Rows[a]["SoCMT"].ToString().ToLower().Trim())
                        {
                            KiemTraTonTai = true;
                            break;
                        }
                        else
                        {
                            KiemTraTonTai = false;
                        }
                    }
                    if (KiemTraTonTai)
                    {
                        error.Add("Học viên " + dt.Rows[i]["STT"].ToString() + " đã tồn tại!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại cột và lỗi định dạng int, fload, datetime
                    #region Họ và đệm
                    if (!dt.Columns.Contains("Họ và đệm"))
                    {
                        error.Add("Cột Họ và đệm không tồn tại");
                        break;
                    }
                    #endregion
                    #region Tên
                    if (!dt.Columns.Contains("Tên"))
                    {
                        error.Add("Cột Tên không tồn tại");
                        break;
                    }
                    #endregion
                    #region Giới tính
                    if (!dt.Columns.Contains("Giới tính"))
                    {
                        error.Add("Cột Giới tính không tồn tại");
                        break;
                    }
                    #endregion
                    #region Chức vụ
                    if (!dt.Columns.Contains("Chức vụ/ Chức danh"))
                    {
                        ChucVu = "-1";
                    }
                    else
                    {
                        for (int b = 0; b < cv.Rows.Count; b++)
                        {
                            if (dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == cv.Rows[b][1].ToString().ToLower().Trim())
                            {

                                ChucVu = cv.Rows[b][0].ToString().Trim();
                                if (KiemTraGiamDoc() && dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == "giám đốc")
                                {
                                    KTGiamDoc = true;
                                    error.Add("Chức vụ giám đốc của học viên " + dt.Rows[i]["STT"].ToString() + " thuộc đơn vị " + MaDonVi + " đã tồn tại!");
                                }
                                KTGiamDoc = false;
                                KiemTraCV = true;
                                break;
                            }
                            else
                            {
                                KiemTraCV = false;
                            }
                        }
                        if (!KiemTraCV)
                        {
                            ChucVu = "-1";
                            error.Add("Chức vụ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Phòng ban
                    if (!dt.Columns.Contains("Phòng ban"))
                    {
                        PhongBan = "-1";
                    }
                    else
                    {
                        for (int c = 0; c < pb.Rows.Count; c++)
                        {
                            if (dt.Rows[i]["Phòng ban"].ToString().ToLower().Trim() == pb.Rows[c][1].ToString().ToLower().Trim())
                            {

                                KiemTraPB = true;
                                PhongBan = pb.Rows[c][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraPB = false;
                            }
                        }
                        if (!KiemTraPB)
                        {
                            PhongBan = "-1";
                            error.Add("Phòng ban của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Ngày sinh
                    if (dt.Columns.Contains("Ngày sinh"))
                    {
                        //ThongBao(DateTime.Parse(dt.Rows[i]["Ngày sinh"].ToString(), ci.DateTimeFormat).ToString("MM-dd-yyyy").ToString());
                        if (!CheckDateTime(DateTime.Parse(dt.Rows[i]["Ngày sinh"].ToString(), ci.DateTimeFormat).ToString("MM-dd-yyyy").ToString()))
                        {
                            error.Add("Kiểu dữ liệu ngày sinh của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                            CheckNgaySinh = false;
                        }
                        else
                        {
                            NgaySinh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày sinh"].ToString(), ci.DateTimeFormat).ToString("MM-dd-yyyy"));
                        }
                    }
                    else
                    {
                        error.Add("Cột ngày sinh không tồn tại");
                        break;
                    }
                    #endregion
                    #region Dân tộc
                    if (!dt.Columns.Contains("Dân tộc"))
                    {
                        DanToc = "";
                    }
                    else
                    {
                        for (int d = 0; d < dToc.Rows.Count; d++)
                        {
                            if (dt.Rows[i]["Dân tộc"].ToString().ToLower().Trim() == dToc.Rows[d][1].ToString().ToLower().Trim())
                            {
                                DanToc = dToc.Rows[d][1].ToString().Trim();
                                KiemTraDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraDT = false;
                            }
                        }
                        if (!KiemTraDT)
                        {
                            DanToc = "";
                            error.Add("Dân tộc của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Tình trạng hợp đồng
                    if (dt.Columns.Contains("Tình trạng hợp đồng"))
                    {
                        TinhTrangHopDong = dt.Rows[i]["Tình trạng hợp đồng"].ToString().Trim();
                    }
                    else
                    {
                        TinhTrangHopDong = "";
                    }
                    if (dt.Columns.Contains("Tổ nhóm"))
                    {
                        ToNhom = dt.Rows[i]["Tổ nhóm"].ToString().Trim();
                    }
                    else
                    {
                        ToNhom = "";
                    }
                    #endregion
                    #region Mã ngạch lương
                    if (!dt.Columns.Contains("Mã ngạch lương"))
                    {
                        MaNgachLuong = "";
                    }
                    else
                    {
                        for (int k = 0; k < MaNL.Rows.Count; k++)
                        {
                            if (dt.Rows[i]["Mã ngạch lương"].ToString().ToLower().Trim() == MaNL.Rows[k][0].ToString().ToLower().Trim())
                            {
                                MaNgachLuong = MaNL.Rows[k][0].ToString().Trim();
                                KiemTraMaNL = true;
                                MaNhomNL = MaNL.Rows[k][2].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraMaNL = false;
                            }
                        }
                        if (!KiemTraMaNL)
                        {
                            MaNgachLuong = "";
                            error.Add("Mã ngạch lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Bậc lương
                    if (!dt.Columns.Contains("Bậc lương"))
                    {
                        BacLuong = "";
                    }
                    else
                    {
                        for (int f = 0; f < BL.Rows.Count; f++)
                        {
                            if (dt.Rows[i]["Bậc lương"].ToString().ToLower().Trim() == BL.Rows[f][0].ToString().ToLower().Trim())
                            {
                                BacLuong = BL.Rows[f][0].ToString().Trim();
                                KiemTraBacLuong = true;
                                break;
                            }
                            else
                            {
                                KiemTraBacLuong = false;
                            }
                        }
                        if (!KiemTraBacLuong)
                        {
                            BacLuong = "";
                            error.Add("Bậc lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hệ số lương
                    if (dt.Columns.Contains("Hệ số lương"))
                    {
                        if (dt.Rows[i]["Hệ số lương"].ToString().Trim() == "")
                        {
                            HeSoLuong = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSL = false;
                            }
                            else
                            {
                                for (int g = 0; g < HSL.Rows.Count; g++)
                                {
                                    if (dt.Rows[i]["Hệ số lương"].ToString().ToLower().Trim() == HSL.Rows[g][0].ToString().ToLower().Trim() &&
                                        MaNhomNL == HSL.Rows[g][2].ToString().Trim())
                                    {
                                        HeSoLuong = HSL.Rows[g][0].ToString().Trim();
                                        KiemTraHSLuong = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSLuong = false;
                                    }
                                }
                                if (!KiemTraHSLuong)
                                {
                                    HeSoLuong = "-1";
                                    error.Add("Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoLuong = "-1";
                    }
                    #endregion
                    #region Ngày hiệu lực lương
                    if (dt.Columns.Contains("Ngày hiệu lực lương"))
                    {
                        if (dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim() == "")
                        {
                            NgayHieuLucLuong = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày hiệu lực lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayHieuLucLuong = false;
                            }
                            else { NgayHieuLucLuong = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày hiệu lực lương"].ToString()).ToString("MM-dd-yyyy")); }
                        }
                    }
                    else
                    {
                        NgayHieuLucLuong = DateTime.MinValue;
                    }
                    #endregion
                    #region Lương khoán
                    if (!dt.Columns.Contains("Lương khoán"))
                    {
                        LuongKhoan = "";
                    }
                    else
                    {
                        for (int h = 0; h < LK.Rows.Count; h++)
                        {
                            //ThongBao(dt.Rows[i][15].ToString());
                            if (dt.Rows[i]["Lương khoán"].ToString().ToLower().Trim() == LK.Rows[h][1].ToString().ToLower().Trim())
                            {
                                LuongKhoan = LK.Rows[h][1].ToString().Trim();
                                KiemTraLuongKhoan = true;
                                break;
                            }
                            else
                            {
                                KiemTraLuongKhoan = false;
                            }
                        }
                        if (!KiemTraLuongKhoan)
                        {
                            LuongKhoan = "";
                            error.Add("Lương khoán của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Hệ số bảo lưu
                    if (dt.Columns.Contains("Hệ số bảo lưu"))
                    {
                        if (dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim() == "")
                        {
                            HeSoBaoLuu = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSBL = false;
                            }
                            else
                            {
                                for (int j = 0; j < HSBL.Rows.Count; j++)
                                {
                                    if (dt.Rows[i]["Hệ số bảo lưu"].ToString().ToLower().Trim() == HSBL.Rows[j][0].ToString().ToLower().Trim())
                                    {
                                        HeSoBaoLuu = HSBL.Rows[j][0].ToString().Trim();
                                        KiemTraHSBL = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSBL = false;
                                    }
                                }
                                if (!KiemTraHSBL)
                                {
                                    HeSoBaoLuu = "";
                                    error.Add("Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoBaoLuu = "-1";
                    }
                    #endregion
                    #region Số BHXH
                    if (dt.Columns.Contains("Số sổ BHXH"))
                    {
                        SoBHXH = dt.Rows[i]["Số sổ BHXH"].ToString().Trim();
                    }
                    else
                    {
                        SoBHXH = "";
                    }
                    #endregion
                    #region Số thẻ BHYT
                    if (dt.Columns.Contains("Số thẻ BHYT"))
                    {
                        SoTheBHYT = dt.Rows[i]["Số thẻ BHYT"].ToString().Trim();
                    }
                    else
                    {
                        SoTheBHYT = "";
                    }
                    #endregion
                    #region Số CMND
                    if (dt.Columns.Contains("Số CMND"))
                    {
                        if (dt.Rows[i]["Số CMND"].ToString().Trim() == "")
                        {
                            SoCMND = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["Số CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckCMND = false;
                            }
                            else
                            {
                                SoCMND = dt.Rows[i]["Số CMND"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SoCMND = "";
                    }
                    #endregion
                    #region Ngày cấp
                    if (dt.Columns.Contains("Ngày cấp CMND"))
                    {
                        if (dt.Rows[i]["Ngày cấp CMND"].ToString().Trim() == "")
                        {
                            NgayCapCMND = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày cấp CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày cấp CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayCapCMND = false;
                            }
                            else
                            {
                                NgayCapCMND = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày cấp CMND"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayCapCMND = DateTime.MinValue;
                    }
                    #endregion
                    #region Nơi cấp
                    if (dt.Columns.Contains("Nơi cấp CMND"))
                    {
                        NoiCapCMND = dt.Rows[i]["Nơi cấp CMND"].ToString().Trim();
                    }
                    else
                    {
                        NoiCapCMND = "";
                    }
                    #endregion
                    #region Trình độ văn hóa
                    if (!dt.Columns.Contains("Trình độ văn hóa"))
                    {
                        TrinhDoVanHoa = "-1";
                    }
                    else
                    {
                        for (int h = 0; h < tdhv.Rows.Count; h++)
                        {
                            if (dt.Rows[i]["Trình độ văn hóa"].ToString().ToLower().Trim() == tdhv.Rows[h][1].ToString().ToLower().Trim())
                            {
                                KiemTraTDVH = true;
                                TrinhDoVanHoa = tdhv.Rows[h][0].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraTDVH = false;
                            }
                        }
                        if (!KiemTraTDVH)
                        {
                            TrinhDoVanHoa = "-1";
                            error.Add("Trình độ văn hóa của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Học hàm
                    if (dt.Columns.Contains("Học hàm"))
                    {
                        HocHam = dt.Rows[i]["Học hàm"].ToString().Trim();
                    }
                    else
                    {
                        HocHam = "";
                    }
                    #endregion
                    #region Học vị
                    if (dt.Columns.Contains("Học vị"))
                    {
                        HocVi = dt.Rows[i]["Học vị"].ToString().Trim();
                    }
                    else
                    {
                        HocVi = "";
                    }
                    #endregion
                    #region Ngành nghề đào tạo
                    if (!dt.Columns.Contains("Ngành nghề đào tạo"))
                    {
                        NganhNgheDT = "";
                    }
                    else
                    {
                        for (int j = 0; j < Nganh.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Ngành nghề đào tạo"].ToString().ToLower().Trim() == Nganh.Rows[j][1].ToString().ToLower().Trim())
                            {
                                NganhNgheDT = Nganh.Rows[j][1].ToString().Trim();
                                KiemTraNganh = true;
                                break;
                            }
                            else
                            {
                                KiemTraNganh = false;
                            }
                        }
                        if (!KiemTraNganh)
                        {
                            NganhNgheDT = "";
                            error.Add("Ngành nghề đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hình thức đào tạo
                    if (!dt.Columns.Contains("Hình thức đào tạo"))
                    {
                        HinhThucDaoTao = "";
                    }
                    else
                    {
                        for (int j = 0; j < HTDT.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Hình thức đào tạo"].ToString().ToLower().Trim() == HTDT.Rows[j][1].ToString().ToLower().Trim())
                            {
                                HinhThucDaoTao = HTDT.Rows[j][1].ToString().Trim();
                                KiemTraHTDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraHTDT = false;
                            }
                        }
                        if (!KiemTraHTDT)
                        {
                            HinhThucDaoTao = "";
                            error.Add("Hình thức đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Trình độ QLKT
                    if (dt.Columns.Contains("Trình độ QLKT"))
                    {
                        TrinhDoQLKT = dt.Rows[i]["Trình độ QLKT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoQLKT = "";
                    }
                    #endregion
                    #region Trình độ LLCT
                    if (dt.Columns.Contains("Trình độ LLCT"))
                    {
                        TrinhDoLLCT = dt.Rows[i]["Trình độ LLCT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoLLCT = "";
                    }
                    #endregion
                    #region Ngày vào ngành
                    if (dt.Columns.Contains("Ngày vào ngành"))
                    {
                        if (dt.Rows[i]["Ngày vào ngành"].ToString().Trim() == "")
                        {
                            NgayVaoNganh = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào ngành"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào ngành của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoNganh = false;
                            }
                            else
                            {
                                NgayVaoNganh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào ngành"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoNganh = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày vào cơ quan
                    if (dt.Columns.Contains("Ngày vào cơ quan"))
                    {
                        if (dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim() == "")
                        {
                            NgayVaoCoQuan = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào cơ quan của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoCoQuan = false;
                            }
                            else
                            {
                                NgayVaoCoQuan = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào cơ quan"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoCoQuan = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày tuyển dụng
                    if (dt.Columns.Contains("Ngày tuyển dụng"))
                    {
                        if (dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim() == "")
                        {
                            NgayTuyenDung = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày tuyển dụng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayTuyenDung = false;
                            }
                            else
                            {
                                NgayTuyenDung = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày tuyển dụng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayTuyenDung = DateTime.MinValue;
                    }
                    #endregion
                    #region Trình độ
                    if (!dt.Columns.Contains("Trình độ"))
                    {
                        TrinhDo = "-1";
                    }
                    else
                    {
                        for (int l = 0; l < tdcm.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Trình độ"].ToString().ToLower().Trim() == tdcm.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraTD = true;
                                TrinhDo = tdcm.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraTD = false;
                            }
                        }
                        if (!KiemTraTD)
                        {
                            TrinhDo = "-1";
                            error.Add("Trình độ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Công việc đang làm
                    if (dt.Columns.Contains("Công việc đang làm"))
                    {
                        CongViecDangLam = dt.Rows[i]["Công việc đang làm"].ToString().Trim();
                    }
                    else
                    {
                        CongViecDangLam = "";
                    }
                    #endregion
                    #region Quê quán
                    if (dt.Columns.Contains("Quê quán"))
                    {
                        QueQuan = dt.Rows[i]["Quê quán"].ToString().Trim();
                    }
                    else
                    {
                        QueQuan = "";
                    }
                    #endregion
                    #region Chỗ ở hiện nay
                    if (dt.Columns.Contains("Chỗ ở hiện nay"))
                    {
                        ChoOHienNay = dt.Rows[i]["Chỗ ở hiện nay"].ToString().Trim();
                    }
                    else
                    {
                        ChoOHienNay = "";
                    }
                    #endregion
                    #region Ảnh
                    if (dt.Columns.Contains("Ảnh"))
                    {
                        Anh = dt.Rows[i]["Ảnh"].ToString().Trim();
                    }
                    else
                    {
                        Anh = "";
                    }
                    #endregion
                    #region Hiệu chỉnh thân nhân
                    if (dt.Columns.Contains("Hiệu chỉnh thân nhân"))
                    {
                        HieuChinhThanNhan = dt.Rows[i]["Hiệu chỉnh thân nhân"].ToString().Trim();
                    }
                    else
                    {
                        HieuChinhThanNhan = "";
                    }
                    #endregion
                    #region Đảng viên
                    if (dt.Columns.Contains("Đảng viên"))
                    {
                        DangVien = dt.Rows[i]["Đảng viên"].ToString().Trim();
                    }
                    else
                    {
                        DangVien = "";
                    }
                    #endregion
                    #region Ngày vào đảng
                    if (dt.Columns.Contains("Ngày vào đảng"))
                    {
                        if (dt.Rows[i]["ngày vào đảng"].ToString().Trim() == "")
                        {
                            NgayVaoDang = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["ngày vào đảng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào đảng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoDang = false;
                            }
                            else
                            {
                                NgayVaoDang = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào đảng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoDang = DateTime.MinValue;
                    }
                    #endregion
                    #region SDT
                    if (dt.Columns.Contains("SDT"))
                    {
                        if (dt.Rows[i]["SDT"].ToString().Trim() == "")
                        {
                            SDT = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["SDT"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số điện thoại của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckSDT = false;
                            }
                            else
                            {
                                SDT = dt.Rows[i]["SDT"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SDT = "";
                    }
                    #endregion
                    #region Email
                    if (dt.Columns.Contains("Email"))
                    {
                        Email = dt.Rows[i]["Email"].ToString().Trim();
                    }
                    else
                    {
                        Email = "";
                    }
                    #endregion
                    #region CHức vụ trong lớp
                    if (dt.Columns.Contains("Chức vụ trong lớp"))
                    {
                        ChucVuTrongLop = dt.Rows[i]["Chức vụ trong lớp"].ToString().Trim();
                    }
                    else
                    {
                        ChucVuTrongLop = "";
                    }
                    #endregion
                    #region Ghi chú
                    if (dt.Columns.Contains("Ghi chú"))
                    {
                        GhiChu = dt.Rows[i]["Ghi chú"].ToString().Trim();
                    }
                    else
                    {
                        GhiChu = "";
                    }
                    #endregion
                    #region Đơn vị
                    if (!dt.Columns.Contains("Đơn vị"))
                    {
                        error.Add("Cột đơn vị không tồn tại");
                        break;
                    }
                    else
                    {
                        for (int l = 0; l < dv.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Đơn vị"].ToString().ToLower().Trim() == dv.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraDonVi = true;
                                MaDV = dv.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraDonVi = false;
                            }
                        }
                        if (!KiemTraDonVi)
                        {
                            error.Add("Đơn vị học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                            continue;
                        }
                    }
                    #endregion
                    if (!CheckNgaySinh || !CheckHSL || !CheckNgayHieuLucLuong || !CheckHSBL || !CheckCMND
                        || !CheckNgayCapCMND || !CheckNgayVaoNganh || !CheckNgayVaoCoQuan || !CheckNgayTuyenDung
                        || !CheckNgayVaoDang || !CheckSDT)
                    {
                        Check = false;
                    }
                    else
                    {
                        Check = true;
                    }
                    #endregion
                    if (!KiemTraTonTai && KiemTraRong && Check && !KTGiamDoc && KiemTraDonVi)
                    {
                        //try
                        //{
                        #region BTbHocVien.Insert
                        BTbHocVien.Insert(new ETbHocVien
                        {
                            MaHV = MaHV,
                            TenHV = dt.Rows[i]["Họ và đệm"].ToString(),
                            Ten = dt.Rows[i]["Tên"].ToString(),
                            GioiTinh = dt.Rows[i]["Giới tính"].ToString(),
                            ChucVu = Int32.Parse(ChucVu),
                            PhongBan = Int32.Parse(PhongBan),
                            NgaySinh = NgaySinh,
                            DanToc = DanToc,
                            TinhTrangHD = TinhTrangHopDong,
                            ToNhom = ToNhom,
                            MaNgachLuong = MaNgachLuong,
                            BacLuong = BacLuong,
                            HeSoLuong = Double.Parse(HeSoLuong),
                            NgayHieuLucLuong = NgayHieuLucLuong,
                            LuongKhoan = LuongKhoan,
                            HeSoBaoLuu = Double.Parse(HeSoBaoLuu),
                            SoBHXH = SoBHXH,
                            SoBHYT = SoTheBHYT,
                            SoCMT = SoCMND,
                            NgayCapCMT = NgayCapCMND,
                            NoiCapCMT = NoiCapCMND,
                            TDVanHoa = Int32.Parse(TrinhDoVanHoa),
                            HocHam = HocHam,
                            HocVi = HocVi,
                            NganhNgheDaoTao = NganhNgheDT,
                            HinhThucDaoTao = HinhThucDaoTao,
                            TrinhDoQLKT = TrinhDoQLKT,
                            TrinhDoLLCT = TrinhDoLLCT,
                            NgayVaoNganh = NgayVaoNganh,
                            NgayVaoCoQuan = NgayVaoCoQuan,
                            NgayTuyenDung = NgayTuyenDung,
                            TrinhDo = Int32.Parse(TrinhDo),
                            CongViecDangLam = CongViecDangLam,
                            QueQuan = QueQuan,
                            DiaChi = ChoOHienNay,
                            Anh = Anh,
                            HieuTrinhThanNhan = HieuChinhThanNhan,
                            DangVien = DangVien,
                            NgayVaoDang = NgayVaoDang,
                            Sdt = SDT,
                            Email = Email,
                            MaLop = 1,
                            ChucVuTrongLop = ChucVuTrongLop,
                            MaDonVi = Int32.Parse(MaDV),
                            GhiChu = GhiChu,
                            TrangThaiTB = 0,
                            Loai = 0,
                            NguoiTao = Session["TenDN"].ToString()
                        });
                        #endregion
                        BTbDangNhap.Insert(new ETbDangNhap
                        {
                            TenDangNhap = MaHV,
                            MatKhau = dn.GetMD5("12345678" + dn.Radomchar()),
                            Quyen = "4",
                            RadomPass = dn.Radomchar(),
                            KhoaTaiKhoan = 0
                        });
                        //}
                        //catch (Exception ex)
                        //{
                        //    Response.Write("");
                        //}
                    }
                }
                for (int k = 0; k < error.Count; k++)
                {
                    count += " + " + error[k].ToString() + "<br/>";
                }
                if (error.Count > 0)
                {
                    plError.Visible = true;
                    lbError.Text = "Bạn kiểm tra lại thông tin học viên:" + "<br/>" + count;
                }
            }
            OleDbcon.Close();
            btSave.Visible = false;
            Session["action"] = 1;
            System.IO.File.Delete(PathFile);
            LoadHocVien();
        }

        protected void btEdit_Click(object sender, EventArgs e)
        {
            isOpen = true;
            pnDSView.Visible = true;
            plError.Visible = true;
            btSaveUpdate.Visible = true;
            btSaveEdit.Visible = false;
            dtView.Clear();
            error = new List<string>();
            OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathFile + ";Extended Properties=Excel 12.0;");
            OleDbCommand command = new OleDbCommand("SELECT * FROM [" + ddlSelectSheet.Text.Trim() + "]", OleDbcon);
            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(command);
            OleDbcon.Open();
            objAdapter1.Fill(dtView);
            LoadView();
            OleDbcon.Close();
            if (dtView.Rows.Count > 0)
            {
                DataTable LayGiamDoc = BTbHocVien.LayGiamDoc(new ETbHocVien { MaDonVi = MaDonVi });
                DataTable dv = BTbDonVi.SelectAllDonViHocVien();

                for (int i = 0; i < dtView.Rows.Count; i++)
                {
                    ThongBao(DateTime.Parse(dtView.Rows[i]["Ngày sinh"].ToString()).ToString());
                    KiemTraRong = true;
                    KiemTraTonTai = true;
                    Check = true; CheckNgaySinh = true; CheckHSL = true; CheckNgayHieuLucLuong = true; CheckHSBL = true;
                    CheckCMND = true; CheckNgayCapCMND = true; CheckNgayVaoNganh = true; CheckNgayVaoCoQuan = true;
                    CheckNgayTuyenDung = true; CheckNgayVaoDang = true; CheckSDT = true;
                    #region //Kiểm tra rỗng
                    KiemTraRong = true;
                    if (dtView.Rows[i]["Họ và đệm"].ToString().Trim().Equals("") || dtView.Rows[i]["Tên"].ToString().Trim().Equals("") ||
                        dtView.Rows[i]["Giới tính"].ToString().Trim().Equals("") || dtView.Rows[i]["Ngày sinh"].ToString().Trim().Equals("") ||
                        dtView.Rows[i]["Đơn vị"].ToString().Trim().Equals("") || dtView.Rows[i]["Số CMND"].ToString().Trim().Equals(""))
                    {
                        KiemTraRong = false;
                        error.Add("Lỗi bỏ trống trường Họ và đệm/ Tên/ Giới tính/ Ngày sinh/ Đơn vị/ Số CMND của học viên " + dtView.Rows[i]["STT"].ToString() + "!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại học viên
                    for (int a = 0; a < hv.Rows.Count; a++)
                    {
                        if (dtView.Rows[i]["Số CMND"].ToString().ToLower().Trim() == hv.Rows[a]["SoCMT"].ToString().ToLower().Trim())
                        {
                            KiemTraTonTai = true;
                            break;
                        }
                        else
                        {
                            KiemTraTonTai = false;
                        }
                    }
                    if (!KiemTraTonTai)
                    {
                        error.Add("Học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại cột và lỗi định dạng int, fload, datetime
                    #region Họ và đệm
                    if (!dtView.Columns.Contains("Họ và đệm"))
                    {
                        error.Add("Cột Họ và đệm không tồn tại");
                        break;
                    }
                    #endregion
                    #region Tên
                    if (!dtView.Columns.Contains("Tên"))
                    {
                        error.Add("Cột Tên không tồn tại");
                        break;
                    }
                    #endregion
                    #region Giới tính
                    if (!dtView.Columns.Contains("Giới tính"))
                    {
                        error.Add("Cột Giới tính không tồn tại");
                        break;
                    }
                    #endregion
                    #region Chức vụ
                    if (!dtView.Columns.Contains("Chức vụ/ Chức danh"))
                    {
                        ChucVu = "-1";
                    }
                    else
                    {
                        for (int b = 0; b < cv.Rows.Count; b++)
                        {
                            if (dtView.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == cv.Rows[b][1].ToString().ToLower().Trim())
                            {

                                ChucVu = cv.Rows[b][0].ToString().Trim();
                                if (KiemTraGiamDoc() && dtView.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == "giám đốc")
                                {
                                    KTGiamDoc = true;
                                    error.Add("Chức vụ giám đốc của học viên " + dtView.Rows[i]["STT"].ToString() + " thuộc đơn vị " + MaDonVi + " đã tồn tại!");
                                }
                                KTGiamDoc = false;
                                KiemTraCV = true;
                                break;
                            }
                            else
                            {
                                KiemTraCV = false;
                            }
                        }
                        if (!KiemTraCV)
                        {
                            ChucVu = "-1";
                            error.Add("Chức vụ của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Phòng ban
                    if (!dtView.Columns.Contains("Phòng ban"))
                    {
                        PhongBan = "-1";
                    }
                    else
                    {
                        for (int c = 0; c < pb.Rows.Count; c++)
                        {
                            if (dtView.Rows[i]["Phòng ban"].ToString().ToLower().Trim() == pb.Rows[c][1].ToString().ToLower().Trim())
                            {

                                KiemTraPB = true;
                                PhongBan = pb.Rows[c][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraPB = false;
                            }
                        }
                        if (!KiemTraPB)
                        {
                            PhongBan = "-1";
                            error.Add("Phòng ban của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Ngày sinh
                    if (dtView.Columns.Contains("Ngày sinh"))
                    {
                        if (!CheckDateTime(dtView.Rows[i]["Ngày sinh"].ToString().Trim()))
                        {
                            error.Add("Kiểu dữ liệu ngày sinh của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                            CheckNgaySinh = false;
                        }
                        else
                        {
                            NgaySinh = DateTime.Parse(dtView.Rows[i]["Ngày sinh"].ToString());
                        }
                    }
                    else
                    {
                        error.Add("Cột ngày sinh không tồn tại");
                        break;
                    }
                    #endregion
                    #region Dân tộc
                    if (!dtView.Columns.Contains("Dân tộc"))
                    {
                        DanToc = "";
                    }
                    else
                    {
                        for (int d = 0; d < dToc.Rows.Count; d++)
                        {
                            if (dtView.Rows[i]["Dân tộc"].ToString().ToLower().Trim() == dToc.Rows[d][1].ToString().ToLower().Trim())
                            {
                                DanToc = dToc.Rows[d][1].ToString().Trim();
                                KiemTraDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraDT = false;
                            }
                        }
                        if (!KiemTraDT)
                        {
                            DanToc = "";
                            error.Add("Dân tộc của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Tình trạng hợp đồng
                    if (dtView.Columns.Contains("Tình trạng hợp đồng"))
                    {
                        TinhTrangHopDong = dtView.Rows[i]["Tình trạng hợp đồng"].ToString().Trim();
                    }
                    else
                    {
                        TinhTrangHopDong = "";
                    }
                    if (dtView.Columns.Contains("Tổ nhóm"))
                    {
                        ToNhom = dtView.Rows[i]["Tổ nhóm"].ToString().Trim();
                    }
                    else
                    {
                        ToNhom = "";
                    }
                    #endregion
                    #region Mã ngạch lương
                    if (!dtView.Columns.Contains("Mã ngạch lương"))
                    {
                        MaNgachLuong = "";
                    }
                    else
                    {
                        for (int k = 0; k < MaNL.Rows.Count; k++)
                        {
                            if (dtView.Rows[i]["Mã ngạch lương"].ToString().ToLower().Trim() == MaNL.Rows[k][0].ToString().ToLower().Trim())
                            {
                                MaNgachLuong = MaNL.Rows[k][0].ToString().Trim();
                                KiemTraMaNL = true;
                                MaNhomNL = MaNL.Rows[k][2].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraMaNL = false;
                            }
                        }
                        if (!KiemTraMaNL)
                        {
                            MaNgachLuong = "";
                            error.Add("Mã ngạch lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Bậc lương
                    if (!dtView.Columns.Contains("Bậc lương"))
                    {
                        BacLuong = "";
                    }
                    else
                    {
                        for (int f = 0; f < BL.Rows.Count; f++)
                        {
                            if (dtView.Rows[i]["Bậc lương"].ToString().ToLower().Trim() == BL.Rows[f][0].ToString().ToLower().Trim())
                            {
                                BacLuong = BL.Rows[f][0].ToString().Trim();
                                KiemTraBacLuong = true;
                                break;
                            }
                            else
                            {
                                KiemTraBacLuong = false;
                            }
                        }
                        if (!KiemTraBacLuong)
                        {
                            BacLuong = "";
                            error.Add("Bậc lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hệ số lương
                    if (dtView.Columns.Contains("Hệ số lương"))
                    {
                        if (dtView.Rows[i]["Hệ số lương"].ToString().Trim() == "")
                        {
                            HeSoLuong = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dtView.Rows[i]["Hệ số lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSL = false;
                            }
                            else
                            {
                                for (int g = 0; g < HSL.Rows.Count; g++)
                                {
                                    if (dtView.Rows[i]["Hệ số lương"].ToString().ToLower().Trim() == HSL.Rows[g][0].ToString().ToLower().Trim() &&
                                        MaNhomNL == HSL.Rows[g][2].ToString().Trim())
                                    {
                                        HeSoLuong = HSL.Rows[g][0].ToString().Trim();
                                        KiemTraHSLuong = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSLuong = false;
                                    }
                                }
                                if (!KiemTraHSLuong)
                                {
                                    HeSoLuong = "-1";
                                    error.Add("Hệ số lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoLuong = "-1";
                    }
                    #endregion
                    #region Ngày hiệu lực lương
                    if (dtView.Columns.Contains("Ngày hiệu lực lương"))
                    {
                        if (dtView.Rows[i]["Ngày hiệu lực lương"].ToString().Trim() == "")
                        {
                            NgayHieuLucLuong = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày hiệu lực lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày hiệu lực lương của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayHieuLucLuong = false;
                            }
                            else { NgayHieuLucLuong = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày hiệu lực lương"].ToString()).ToString("MM-dd-yyyy")); }
                        }
                    }
                    else
                    {
                        NgayHieuLucLuong = DateTime.MinValue;
                    }
                    #endregion
                    #region Lương khoán
                    if (!dtView.Columns.Contains("Lương khoán"))
                    {
                        LuongKhoan = "";
                    }
                    else
                    {
                        for (int h = 0; h < LK.Rows.Count; h++)
                        {
                            //ThongBao(dt.Rows[i][15].ToString());
                            if (dtView.Rows[i]["Lương khoán"].ToString().ToLower().Trim() == LK.Rows[h][1].ToString().ToLower().Trim())
                            {
                                LuongKhoan = LK.Rows[h][1].ToString().Trim();
                                KiemTraLuongKhoan = true;
                                break;
                            }
                            else
                            {
                                KiemTraLuongKhoan = false;
                            }
                        }
                        if (!KiemTraLuongKhoan)
                        {
                            LuongKhoan = "";
                            error.Add("Lương khoán của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Hệ số bảo lưu
                    if (dtView.Columns.Contains("Hệ số bảo lưu"))
                    {
                        if (dtView.Rows[i]["Hệ số bảo lưu"].ToString().Trim() == "")
                        {
                            HeSoBaoLuu = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dtView.Rows[i]["Hệ số bảo lưu"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số bảo lưu của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSBL = false;
                            }
                            else
                            {
                                for (int j = 0; j < HSBL.Rows.Count; j++)
                                {
                                    if (dtView.Rows[i]["Hệ số bảo lưu"].ToString().ToLower().Trim() == HSBL.Rows[j][0].ToString().ToLower().Trim())
                                    {
                                        HeSoBaoLuu = HSBL.Rows[j][0].ToString().Trim();
                                        KiemTraHSBL = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSBL = false;
                                    }
                                }
                                if (!KiemTraHSBL)
                                {
                                    HeSoBaoLuu = "";
                                    error.Add("Hệ số bảo lưu của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoBaoLuu = "-1";
                    }
                    #endregion
                    #region Số BHXH
                    if (dtView.Columns.Contains("Số sổ BHXH"))
                    {
                        SoBHXH = dtView.Rows[i]["Số sổ BHXH"].ToString().Trim();
                    }
                    else
                    {
                        SoBHXH = "";
                    }
                    #endregion
                    #region Số thẻ BHYT
                    if (dtView.Columns.Contains("Số thẻ BHYT"))
                    {
                        SoTheBHYT = dtView.Rows[i]["Số thẻ BHYT"].ToString().Trim();
                    }
                    else
                    {
                        SoTheBHYT = "";
                    }
                    #endregion
                    #region Số CMND
                    if (dtView.Columns.Contains("Số CMND"))
                    {
                        if (dtView.Rows[i]["Số CMND"].ToString().Trim() == "")
                        {
                            SoCMND = "";
                        }
                        else
                        {
                            if (!CheckInt(dtView.Rows[i]["Số CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số CMTND của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckCMND = false;
                            }
                            else
                            {
                                SoCMND = dtView.Rows[i]["Số CMND"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SoCMND = "";
                    }
                    #endregion
                    #region Ngày cấp
                    if (dtView.Columns.Contains("Ngày cấp CMND"))
                    {
                        if (dtView.Rows[i]["Ngày cấp CMND"].ToString().Trim() == "")
                        {
                            NgayCapCMND = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày cấp CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày cấp CMTND của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayCapCMND = false;
                            }
                            else
                            {
                                NgayCapCMND = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày cấp CMND"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayCapCMND = DateTime.MinValue;
                    }
                    #endregion
                    #region Nơi cấp
                    if (dtView.Columns.Contains("Nơi cấp CMND"))
                    {
                        NoiCapCMND = dtView.Rows[i]["Nơi cấp CMND"].ToString().Trim();
                    }
                    else
                    {
                        NoiCapCMND = "";
                    }
                    #endregion
                    #region Trình độ văn hóa
                    if (!dtView.Columns.Contains("Trình độ văn hóa"))
                    {
                        TrinhDoVanHoa = "-1";
                    }
                    else
                    {
                        for (int h = 0; h < tdhv.Rows.Count; h++)
                        {
                            if (dtView.Rows[i]["Trình độ văn hóa"].ToString().ToLower().Trim() == tdhv.Rows[h][1].ToString().ToLower().Trim())
                            {
                                KiemTraTDVH = true;
                                TrinhDoVanHoa = tdhv.Rows[h][0].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraTDVH = false;
                            }
                        }
                        if (!KiemTraTDVH)
                        {
                            TrinhDoVanHoa = "-1";
                            error.Add("Trình độ văn hóa của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Học hàm
                    if (dtView.Columns.Contains("Học hàm"))
                    {
                        HocHam = dtView.Rows[i]["Học hàm"].ToString().Trim();
                    }
                    else
                    {
                        HocHam = "";
                    }
                    #endregion
                    #region Học vị
                    if (dtView.Columns.Contains("Học vị"))
                    {
                        HocVi = dtView.Rows[i]["Học vị"].ToString().Trim();
                    }
                    else
                    {
                        HocVi = "";
                    }
                    #endregion
                    #region Ngành nghề đào tạo
                    if (!dtView.Columns.Contains("Ngành nghề đào tạo"))
                    {
                        NganhNgheDT = "";
                    }
                    else
                    {
                        for (int j = 0; j < Nganh.Rows.Count; j++)
                        {
                            if (dtView.Rows[i]["Ngành nghề đào tạo"].ToString().ToLower().Trim() == Nganh.Rows[j][1].ToString().ToLower().Trim())
                            {
                                NganhNgheDT = Nganh.Rows[j][1].ToString().Trim();
                                KiemTraNganh = true;
                                break;
                            }
                            else
                            {
                                KiemTraNganh = false;
                            }
                        }
                        if (!KiemTraNganh)
                        {
                            NganhNgheDT = "";
                            error.Add("Ngành nghề đào tạo của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hình thức đào tạo
                    if (!dtView.Columns.Contains("Hình thức đào tạo"))
                    {
                        HinhThucDaoTao = "";
                    }
                    else
                    {
                        for (int j = 0; j < HTDT.Rows.Count; j++)
                        {
                            if (dtView.Rows[i]["Hình thức đào tạo"].ToString().ToLower().Trim() == HTDT.Rows[j][1].ToString().ToLower().Trim())
                            {
                                HinhThucDaoTao = HTDT.Rows[j][1].ToString().Trim();
                                KiemTraHTDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraHTDT = false;
                            }
                        }
                        if (!KiemTraHTDT)
                        {
                            HinhThucDaoTao = "";
                            error.Add("Hình thức đào tạo của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Trình độ QLKT
                    if (dtView.Columns.Contains("Trình độ QLKT"))
                    {
                        TrinhDoQLKT = dtView.Rows[i]["Trình độ QLKT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoQLKT = "";
                    }
                    #endregion
                    #region Trình độ LLCT
                    if (dtView.Columns.Contains("Trình độ LLCT"))
                    {
                        TrinhDoLLCT = dtView.Rows[i]["Trình độ LLCT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoLLCT = "";
                    }
                    #endregion
                    #region Ngày vào ngành
                    if (dtView.Columns.Contains("Ngày vào ngành"))
                    {
                        if (dtView.Rows[i]["Ngày vào ngành"].ToString().Trim() == "")
                        {
                            NgayVaoNganh = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày vào ngành"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào ngành của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoNganh = false;
                            }
                            else
                            {
                                NgayVaoNganh = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày vào ngành"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoNganh = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày vào cơ quan
                    if (dtView.Columns.Contains("Ngày vào cơ quan"))
                    {
                        if (dtView.Rows[i]["Ngày vào cơ quan"].ToString().Trim() == "")
                        {
                            NgayVaoCoQuan = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày vào cơ quan"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào cơ quan của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoCoQuan = false;
                            }
                            else
                            {
                                NgayVaoCoQuan = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày vào cơ quan"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoCoQuan = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày tuyển dụng
                    if (dtView.Columns.Contains("Ngày tuyển dụng"))
                    {
                        if (dtView.Rows[i]["Ngày tuyển dụng"].ToString().Trim() == "")
                        {
                            NgayTuyenDung = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["Ngày tuyển dụng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày tuyển dụng của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayTuyenDung = false;
                            }
                            else
                            {
                                NgayTuyenDung = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày tuyển dụng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayTuyenDung = DateTime.MinValue;
                    }
                    #endregion
                    #region Trình độ
                    if (!dtView.Columns.Contains("Trình độ"))
                    {
                        TrinhDo = "-1";
                    }
                    else
                    {
                        for (int l = 0; l < tdcm.Rows.Count; l++)
                        {
                            if (dtView.Rows[i]["Trình độ"].ToString().ToLower().Trim() == tdcm.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraTD = true;
                                TrinhDo = tdcm.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraTD = false;
                            }
                        }
                        if (!KiemTraTD)
                        {
                            TrinhDo = "-1";
                            error.Add("Trình độ của học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Công việc đang làm
                    if (dtView.Columns.Contains("Công việc đang làm"))
                    {
                        CongViecDangLam = dtView.Rows[i]["Công việc đang làm"].ToString().Trim();
                    }
                    else
                    {
                        CongViecDangLam = "";
                    }
                    #endregion
                    #region Quê quán
                    if (dtView.Columns.Contains("Quê quán"))
                    {
                        QueQuan = dtView.Rows[i]["Quê quán"].ToString().Trim();
                    }
                    else
                    {
                        QueQuan = "";
                    }
                    #endregion
                    #region Chỗ ở hiện nay
                    if (dtView.Columns.Contains("Chỗ ở hiện nay"))
                    {
                        ChoOHienNay = dtView.Rows[i]["Chỗ ở hiện nay"].ToString().Trim();
                    }
                    else
                    {
                        ChoOHienNay = "";
                    }
                    #endregion
                    #region Ảnh
                    if (dtView.Columns.Contains("Ảnh"))
                    {
                        Anh = dtView.Rows[i]["Ảnh"].ToString().Trim();
                    }
                    else
                    {
                        Anh = "";
                    }
                    #endregion
                    #region Hiệu chỉnh thân nhân
                    if (dtView.Columns.Contains("Hiệu chỉnh thân nhân"))
                    {
                        HieuChinhThanNhan = dtView.Rows[i]["Hiệu chỉnh thân nhân"].ToString().Trim();
                    }
                    else
                    {
                        HieuChinhThanNhan = "";
                    }
                    #endregion
                    #region Đảng viên
                    if (dtView.Columns.Contains("Đảng viên"))
                    {
                        DangVien = dtView.Rows[i]["Đảng viên"].ToString().Trim();
                    }
                    else
                    {
                        DangVien = "";
                    }
                    #endregion
                    #region Ngày vào đảng
                    if (dtView.Columns.Contains("Ngày vào đảng"))
                    {
                        if (dtView.Rows[i]["ngày vào đảng"].ToString().Trim() == "")
                        {
                            NgayVaoDang = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dtView.Rows[i]["ngày vào đảng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào đảng của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoDang = false;
                            }
                            else
                            {
                                NgayVaoDang = DateTime.Parse(DateTime.Parse(dtView.Rows[i]["Ngày vào đảng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoDang = DateTime.MinValue;
                    }
                    #endregion
                    #region SDT
                    if (dtView.Columns.Contains("SDT"))
                    {
                        if (dtView.Rows[i]["SDT"].ToString().Trim() == "")
                        {
                            SDT = "";
                        }
                        else
                        {
                            if (!CheckInt(dtView.Rows[i]["SDT"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số điện thoại của học viên " + dtView.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckSDT = false;
                            }
                            else
                            {
                                SDT = dtView.Rows[i]["SDT"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SDT = "";
                    }
                    #endregion
                    #region Email
                    if (dtView.Columns.Contains("Email"))
                    {
                        Email = dtView.Rows[i]["Email"].ToString().Trim();
                    }
                    else
                    {
                        Email = "";
                    }
                    #endregion
                    #region CHức vụ trong lớp
                    if (dtView.Columns.Contains("Chức vụ trong lớp"))
                    {
                        ChucVuTrongLop = dtView.Rows[i]["Chức vụ trong lớp"].ToString().Trim();
                    }
                    else
                    {
                        ChucVuTrongLop = "";
                    }
                    #endregion
                    #region Ghi chú
                    if (dtView.Columns.Contains("Ghi chú"))
                    {
                        GhiChu = dtView.Rows[i]["Ghi chú"].ToString().Trim();
                    }
                    else
                    {
                        GhiChu = "";
                    }
                    #endregion
                    #region Đơn vị
                    if (!dtView.Columns.Contains("Đơn vị"))
                    {
                        error.Add("Cột đơn vị không tồn tại");
                        break;
                    }
                    else
                    {
                        for (int l = 0; l < dv.Rows.Count; l++)
                        {
                            if (dtView.Rows[i]["Đơn vị"].ToString().ToLower().Trim() == dv.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraDonVi = true;
                                MaDV = dv.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraDonVi = false;
                            }
                        }
                        if (!KiemTraDonVi)
                        {
                            error.Add("Đơn vị học viên " + dtView.Rows[i]["STT"].ToString() + " không tồn tại!");
                            continue;
                        }
                    }
                    #endregion
                    #endregion
                }
                for (int k = 0; k < error.Count; k++)
                {
                    count += " + " + error[k].ToString() + "<br/>";
                }
                if (error.Count > 0)
                {
                    plError.Visible = true;
                    lbError.Text = "Bạn kiểm tra lại thông tin học viên:" + "<br/>" + count;
                }
            }
            OleDbcon.Close();   
        }

        protected void btSaveEdit_Click(object sender, EventArgs e)
        {
            error = new List<string>();
            string MaHocVien = "";
            OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathFile + ";Extended Properties=Excel 12.0;");
            OleDbCommand command = new OleDbCommand("SELECT * FROM [" + ddlSelectSheet.Text.Trim() + "]", OleDbcon);
            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(command);
            OleDbcon.Open();
            DataTable dt = new DataTable();
            objAdapter1.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                DataTable LayGiamDoc = BTbHocVien.LayGiamDoc(new ETbHocVien { MaDonVi = MaDonVi });
                DataTable dv = BTbDonVi.SelectAllDonViHocVien();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    //test = true;
                    KiemTraRong = true;
                    KiemTraTonTai = true;
                    Check = true; CheckNgaySinh = true; CheckHSL = true; CheckNgayHieuLucLuong = true; CheckHSBL = true;
                    CheckCMND = true; CheckNgayCapCMND = true; CheckNgayVaoNganh = true; CheckNgayVaoCoQuan = true;
                    CheckNgayTuyenDung = true; CheckNgayVaoDang = true; CheckSDT = true;
                    #region //Kiểm tra rỗng
                    KiemTraRong = true;
                    if (dt.Rows[i]["Họ và đệm"].ToString().Trim().Equals("") || dt.Rows[i]["Tên"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Giới tính"].ToString().Trim().Equals("") || dt.Rows[i]["Ngày sinh"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Đơn vị"].ToString().Trim().Equals("") || dt.Rows[i]["Số CMND"].ToString().Trim().Equals(""))
                    {
                        KiemTraRong = false;
                        error.Add("Lỗi bỏ trống trường Họ và đệm/ Tên/ Giới tính/ Ngày sinh/ Đơn vị/ Số CMND của học viên " + dt.Rows[i]["STT"].ToString() + "!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại học viên
                    for (int a = 0; a < hv.Rows.Count; a++)
                    {
                        if (dt.Rows[i]["Số CMND"].ToString().ToLower().Trim() == hv.Rows[a]["SoCMT"].ToString().ToLower().Trim())
                        {
                            MaHocVien = hv.Rows[a]["MaHV"].ToString().Trim();
                            KiemTraTonTai = true;
                            break;
                        }
                        else
                        {
                            KiemTraTonTai = false;
                        }
                    }
                    if (!KiemTraTonTai)
                    {
                        error.Add("Học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại cột và lỗi định dạng int, fload, datetime
                    #region Họ và đệm
                    if (!dt.Columns.Contains("Họ và đệm"))
                    {
                        error.Add("Cột Họ và đệm không tồn tại");
                        break;
                    }
                    #endregion
                    #region Tên
                    if (!dt.Columns.Contains("Tên"))
                    {
                        error.Add("Cột Tên không tồn tại");
                        break;
                    }
                    #endregion
                    #region Giới tính
                    if (!dt.Columns.Contains("Giới tính"))
                    {
                        error.Add("Cột Giới tính không tồn tại");
                        break;
                    }
                    #endregion
                    #region Chức vụ
                    if (!dt.Columns.Contains("Chức vụ/ Chức danh"))
                    {
                        ChucVu = "-1";
                    }
                    else
                    {
                        for (int b = 0; b < cv.Rows.Count; b++)
                        {
                            if (dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == cv.Rows[b][1].ToString().ToLower().Trim())
                            {

                                ChucVu = cv.Rows[b][0].ToString().Trim();
                                if (KiemTraGiamDoc() && dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == "giám đốc")
                                {
                                    KTGiamDoc = true;
                                    error.Add("Chức vụ giám đốc của học viên " + dt.Rows[i]["STT"].ToString() + " thuộc đơn vị " + MaDonVi + " đã tồn tại!");
                                }
                                KTGiamDoc = false;
                                KiemTraCV = true;
                                break;
                            }
                            else
                            {
                                KiemTraCV = false;
                            }
                        }
                        if (!KiemTraCV)
                        {
                            ChucVu = "-1";
                            error.Add("Chức vụ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Phòng ban
                    if (!dt.Columns.Contains("Phòng ban"))
                    {
                        PhongBan = "-1";
                    }
                    else
                    {
                        for (int c = 0; c < pb.Rows.Count; c++)
                        {
                            if (dt.Rows[i]["Phòng ban"].ToString().ToLower().Trim() == pb.Rows[c][1].ToString().ToLower().Trim())
                            {

                                KiemTraPB = true;
                                PhongBan = pb.Rows[c][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraPB = false;
                            }
                        }
                        if (!KiemTraPB)
                        {
                            PhongBan = "-1";
                            error.Add("Phòng ban của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Ngày sinh
                    if (dt.Columns.Contains("Ngày sinh"))
                    {
                        if (!CheckDateTime(dt.Rows[i]["Ngày sinh"].ToString().Trim()))
                        {
                            error.Add("Kiểu dữ liệu ngày sinh của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                            CheckNgaySinh = false;
                        }
                        else
                        {
                            NgaySinh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày sinh"].ToString()).ToString("MM-dd-yyyy"));
                        }
                    }
                    else
                    {
                        error.Add("Cột ngày sinh không tồn tại");
                        break;
                    }
                    #endregion
                    #region Dân tộc
                    if (!dt.Columns.Contains("Dân tộc"))
                    {
                        DanToc = "";
                    }
                    else
                    {
                        for (int d = 0; d < dToc.Rows.Count; d++)
                        {
                            if (dt.Rows[i]["Dân tộc"].ToString().ToLower().Trim() == dToc.Rows[d][1].ToString().ToLower().Trim())
                            {
                                DanToc = dToc.Rows[d][1].ToString().Trim();
                                KiemTraDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraDT = false;
                            }
                        }
                        if (!KiemTraDT)
                        {
                            DanToc = "";
                            error.Add("Dân tộc của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Tình trạng hợp đồng
                    if (dt.Columns.Contains("Tình trạng hợp đồng"))
                    {
                        TinhTrangHopDong = dt.Rows[i]["Tình trạng hợp đồng"].ToString().Trim();
                    }
                    else
                    {
                        TinhTrangHopDong = "";
                    }
                    if (dt.Columns.Contains("Tổ nhóm"))
                    {
                        ToNhom = dt.Rows[i]["Tổ nhóm"].ToString().Trim();
                    }
                    else
                    {
                        ToNhom = "";
                    }
                    #endregion
                    #region Mã ngạch lương
                    if (!dt.Columns.Contains("Mã ngạch lương"))
                    {
                        MaNgachLuong = "";
                    }
                    else
                    {
                        for (int k = 0; k < MaNL.Rows.Count; k++)
                        {
                            if (dt.Rows[i]["Mã ngạch lương"].ToString().ToLower().Trim() == MaNL.Rows[k][0].ToString().ToLower().Trim())
                            {
                                MaNgachLuong = MaNL.Rows[k][0].ToString().Trim();
                                KiemTraMaNL = true;
                                MaNhomNL = MaNL.Rows[k][2].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraMaNL = false;
                            }
                        }
                        if (!KiemTraMaNL)
                        {
                            MaNgachLuong = "";
                            error.Add("Mã ngạch lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Bậc lương
                    if (!dt.Columns.Contains("Bậc lương"))
                    {
                        BacLuong = "";
                    }
                    else
                    {
                        for (int f = 0; f < BL.Rows.Count; f++)
                        {
                            if (dt.Rows[i]["Bậc lương"].ToString().ToLower().Trim() == BL.Rows[f][0].ToString().ToLower().Trim())
                            {
                                BacLuong = BL.Rows[f][0].ToString().Trim();
                                KiemTraBacLuong = true;
                                break;
                            }
                            else
                            {
                                KiemTraBacLuong = false;
                            }
                        }
                        if (!KiemTraBacLuong)
                        {
                            BacLuong = "";
                            error.Add("Bậc lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hệ số lương
                    if (dt.Columns.Contains("Hệ số lương"))
                    {
                        if (dt.Rows[i]["Hệ số lương"].ToString().Trim() == "")
                        {
                            HeSoLuong = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSL = false;
                            }
                            else
                            {
                                for (int g = 0; g < HSL.Rows.Count; g++)
                                {
                                    if (dt.Rows[i]["Hệ số lương"].ToString().ToLower().Trim() == HSL.Rows[g][0].ToString().ToLower().Trim() &&
                                        MaNhomNL == HSL.Rows[g][2].ToString().Trim())
                                    {
                                        HeSoLuong = HSL.Rows[g][0].ToString().Trim();
                                        KiemTraHSLuong = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSLuong = false;
                                    }
                                }
                                if (!KiemTraHSLuong)
                                {
                                    HeSoLuong = "-1";
                                    error.Add("Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoLuong = "-1";
                    }
                    #endregion
                    #region Ngày hiệu lực lương
                    if (dt.Columns.Contains("Ngày hiệu lực lương"))
                    {
                        if (dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim() == "")
                        {
                            NgayHieuLucLuong = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày hiệu lực lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayHieuLucLuong = false;
                            }
                            else { NgayHieuLucLuong = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày hiệu lực lương"].ToString()).ToString("MM-dd-yyyy")); }
                        }
                    }
                    else
                    {
                        NgayHieuLucLuong = DateTime.MinValue;
                    }
                    #endregion
                    #region Lương khoán
                    if (!dt.Columns.Contains("Lương khoán"))
                    {
                        LuongKhoan = "";
                    }
                    else
                    {
                        for (int h = 0; h < LK.Rows.Count; h++)
                        {
                            //ThongBao(dt.Rows[i][15].ToString());
                            if (dt.Rows[i]["Lương khoán"].ToString().ToLower().Trim() == LK.Rows[h][1].ToString().ToLower().Trim())
                            {
                                LuongKhoan = LK.Rows[h][1].ToString().Trim();
                                KiemTraLuongKhoan = true;
                                break;
                            }
                            else
                            {
                                KiemTraLuongKhoan = false;
                            }
                        }
                        if (!KiemTraLuongKhoan)
                        {
                            LuongKhoan = "";
                            error.Add("Lương khoán của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Hệ số bảo lưu
                    if (dt.Columns.Contains("Hệ số bảo lưu"))
                    {
                        if (dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim() == "")
                        {
                            HeSoBaoLuu = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSBL = false;
                            }
                            else
                            {
                                for (int j = 0; j < HSBL.Rows.Count; j++)
                                {
                                    if (dt.Rows[i]["Hệ số bảo lưu"].ToString().ToLower().Trim() == HSBL.Rows[j][0].ToString().ToLower().Trim())
                                    {
                                        HeSoBaoLuu = HSBL.Rows[j][0].ToString().Trim();
                                        KiemTraHSBL = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSBL = false;
                                    }
                                }
                                if (!KiemTraHSBL)
                                {
                                    HeSoBaoLuu = "";
                                    error.Add("Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoBaoLuu = "-1";
                    }
                    #endregion
                    #region Số BHXH
                    if (dt.Columns.Contains("Số sổ BHXH"))
                    {
                        SoBHXH = dt.Rows[i]["Số sổ BHXH"].ToString().Trim();
                    }
                    else
                    {
                        SoBHXH = "";
                    }
                    #endregion
                    #region Số thẻ BHYT
                    if (dt.Columns.Contains("Số thẻ BHYT"))
                    {
                        SoTheBHYT = dt.Rows[i]["Số thẻ BHYT"].ToString().Trim();
                    }
                    else
                    {
                        SoTheBHYT = "";
                    }
                    #endregion
                    #region Số CMND
                    if (dt.Columns.Contains("Số CMND"))
                    {
                        if (dt.Rows[i]["Số CMND"].ToString().Trim() == "")
                        {
                            SoCMND = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["Số CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckCMND = false;
                            }
                            else
                            {
                                SoCMND = dt.Rows[i]["Số CMND"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SoCMND = "";
                    }
                    #endregion
                    #region Ngày cấp
                    if (dt.Columns.Contains("Ngày cấp CMND"))
                    {
                        if (dt.Rows[i]["Ngày cấp CMND"].ToString().Trim() == "")
                        {
                            NgayCapCMND = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày cấp CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày cấp CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayCapCMND = false;
                            }
                            else
                            {
                                NgayCapCMND = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày cấp CMND"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayCapCMND = DateTime.MinValue;
                    }
                    #endregion
                    #region Nơi cấp
                    if (dt.Columns.Contains("Nơi cấp CMND"))
                    {
                        NoiCapCMND = dt.Rows[i]["Nơi cấp CMND"].ToString().Trim();
                    }
                    else
                    {
                        NoiCapCMND = "";
                    }
                    #endregion
                    #region Trình độ văn hóa
                    if (!dt.Columns.Contains("Trình độ văn hóa"))
                    {
                        TrinhDoVanHoa = "-1";
                    }
                    else
                    {
                        for (int h = 0; h < tdhv.Rows.Count; h++)
                        {
                            if (dt.Rows[i]["Trình độ văn hóa"].ToString().ToLower().Trim() == tdhv.Rows[h][1].ToString().ToLower().Trim())
                            {
                                KiemTraTDVH = true;
                                TrinhDoVanHoa = tdhv.Rows[h][0].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraTDVH = false;
                            }
                        }
                        if (!KiemTraTDVH)
                        {
                            TrinhDoVanHoa = "-1";
                            error.Add("Trình độ văn hóa của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Học hàm
                    if (dt.Columns.Contains("Học hàm"))
                    {
                        HocHam = dt.Rows[i]["Học hàm"].ToString().Trim();
                    }
                    else
                    {
                        HocHam = "";
                    }
                    #endregion
                    #region Học vị
                    if (dt.Columns.Contains("Học vị"))
                    {
                        HocVi = dt.Rows[i]["Học vị"].ToString().Trim();
                    }
                    else
                    {
                        HocVi = "";
                    }
                    #endregion
                    #region Ngành nghề đào tạo
                    if (!dt.Columns.Contains("Ngành nghề đào tạo"))
                    {
                        NganhNgheDT = "";
                    }
                    else
                    {
                        for (int j = 0; j < Nganh.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Ngành nghề đào tạo"].ToString().ToLower().Trim() == Nganh.Rows[j][1].ToString().ToLower().Trim())
                            {
                                NganhNgheDT = Nganh.Rows[j][1].ToString().Trim();
                                KiemTraNganh = true;
                                break;
                            }
                            else
                            {
                                KiemTraNganh = false;
                            }
                        }
                        if (!KiemTraNganh)
                        {
                            NganhNgheDT = "";
                            error.Add("Ngành nghề đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hình thức đào tạo
                    if (!dt.Columns.Contains("Hình thức đào tạo"))
                    {
                        HinhThucDaoTao = "";
                    }
                    else
                    {
                        for (int j = 0; j < HTDT.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Hình thức đào tạo"].ToString().ToLower().Trim() == HTDT.Rows[j][1].ToString().ToLower().Trim())
                            {
                                HinhThucDaoTao = HTDT.Rows[j][1].ToString().Trim();
                                KiemTraHTDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraHTDT = false;
                            }
                        }
                        if (!KiemTraHTDT)
                        {
                            HinhThucDaoTao = "";
                            error.Add("Hình thức đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Trình độ QLKT
                    if (dt.Columns.Contains("Trình độ QLKT"))
                    {
                        TrinhDoQLKT = dt.Rows[i]["Trình độ QLKT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoQLKT = "";
                    }
                    #endregion
                    #region Trình độ LLCT
                    if (dt.Columns.Contains("Trình độ LLCT"))
                    {
                        TrinhDoLLCT = dt.Rows[i]["Trình độ LLCT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoLLCT = "";
                    }
                    #endregion
                    #region Ngày vào ngành
                    if (dt.Columns.Contains("Ngày vào ngành"))
                    {
                        if (dt.Rows[i]["Ngày vào ngành"].ToString().Trim() == "")
                        {
                            NgayVaoNganh = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào ngành"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào ngành của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoNganh = false;
                            }
                            else
                            {
                                NgayVaoNganh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào ngành"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoNganh = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày vào cơ quan
                    if (dt.Columns.Contains("Ngày vào cơ quan"))
                    {
                        if (dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim() == "")
                        {
                            NgayVaoCoQuan = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào cơ quan của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoCoQuan = false;
                            }
                            else
                            {
                                NgayVaoCoQuan = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào cơ quan"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoCoQuan = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày tuyển dụng
                    if (dt.Columns.Contains("Ngày tuyển dụng"))
                    {
                        if (dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim() == "")
                        {
                            NgayTuyenDung = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày tuyển dụng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayTuyenDung = false;
                            }
                            else
                            {
                                NgayTuyenDung = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày tuyển dụng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayTuyenDung = DateTime.MinValue;
                    }
                    #endregion
                    #region Trình độ
                    if (!dt.Columns.Contains("Trình độ"))
                    {
                        TrinhDo = "-1";
                    }
                    else
                    {
                        for (int l = 0; l < tdcm.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Trình độ"].ToString().ToLower().Trim() == tdcm.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraTD = true;
                                TrinhDo = tdcm.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraTD = false;
                            }
                        }
                        if (!KiemTraTD)
                        {
                            TrinhDo = "-1";
                            error.Add("Trình độ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Công việc đang làm
                    if (dt.Columns.Contains("Công việc đang làm"))
                    {
                        CongViecDangLam = dt.Rows[i]["Công việc đang làm"].ToString().Trim();
                    }
                    else
                    {
                        CongViecDangLam = "";
                    }
                    #endregion
                    #region Quê quán
                    if (dt.Columns.Contains("Quê quán"))
                    {
                        QueQuan = dt.Rows[i]["Quê quán"].ToString().Trim();
                    }
                    else
                    {
                        QueQuan = "";
                    }
                    #endregion
                    #region Chỗ ở hiện nay
                    if (dt.Columns.Contains("Chỗ ở hiện nay"))
                    {
                        ChoOHienNay = dt.Rows[i]["Chỗ ở hiện nay"].ToString().Trim();
                    }
                    else
                    {
                        ChoOHienNay = "";
                    }
                    #endregion
                    #region Ảnh
                    if (dt.Columns.Contains("Ảnh"))
                    {
                        Anh = dt.Rows[i]["Ảnh"].ToString().Trim();
                    }
                    else
                    {
                        Anh = "";
                    }
                    #endregion
                    #region Hiệu chỉnh thân nhân
                    if (dt.Columns.Contains("Hiệu chỉnh thân nhân"))
                    {
                        HieuChinhThanNhan = dt.Rows[i]["Hiệu chỉnh thân nhân"].ToString().Trim();
                    }
                    else
                    {
                        HieuChinhThanNhan = "";
                    }
                    #endregion
                    #region Đảng viên
                    if (dt.Columns.Contains("Đảng viên"))
                    {
                        DangVien = dt.Rows[i]["Đảng viên"].ToString().Trim();
                    }
                    else
                    {
                        DangVien = "";
                    }
                    #endregion
                    #region Ngày vào đảng
                    if (dt.Columns.Contains("Ngày vào đảng"))
                    {
                        if (dt.Rows[i]["ngày vào đảng"].ToString().Trim() == "")
                        {
                            NgayVaoDang = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["ngày vào đảng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào đảng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoDang = false;
                            }
                            else
                            {
                                NgayVaoDang = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào đảng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoDang = DateTime.MinValue;
                    }
                    #endregion
                    #region SDT
                    if (dt.Columns.Contains("SDT"))
                    {
                        if (dt.Rows[i]["SDT"].ToString().Trim() == "")
                        {
                            SDT = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["SDT"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số điện thoại của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckSDT = false;
                            }
                            else
                            {
                                SDT = dt.Rows[i]["SDT"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SDT = "";
                    }
                    #endregion
                    #region Email
                    if (dt.Columns.Contains("Email"))
                    {
                        Email = dt.Rows[i]["Email"].ToString().Trim();
                    }
                    else
                    {
                        Email = "";
                    }
                    #endregion
                    #region CHức vụ trong lớp
                    if (dt.Columns.Contains("Chức vụ trong lớp"))
                    {
                        ChucVuTrongLop = dt.Rows[i]["Chức vụ trong lớp"].ToString().Trim();
                    }
                    else
                    {
                        ChucVuTrongLop = "";
                    }
                    #endregion
                    #region Ghi chú
                    if (dt.Columns.Contains("Ghi chú"))
                    {
                        GhiChu = dt.Rows[i]["Ghi chú"].ToString().Trim();
                    }
                    else
                    {
                        GhiChu = "";
                    }
                    #endregion
                    #region Đơn vị
                    if (!dt.Columns.Contains("Đơn vị"))
                    {
                        error.Add("Cột đơn vị không tồn tại");
                        break;
                    }
                    else
                    {
                        for (int l = 0; l < dv.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Đơn vị"].ToString().ToLower().Trim() == dv.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraDonVi = true;
                                MaDV = dv.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraDonVi = false;
                            }
                        }
                        if (!KiemTraDonVi)
                        {
                            error.Add("Đơn vị học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                            continue;
                        }
                    }
                    #endregion
                    if (!CheckNgaySinh || !CheckHSL || !CheckNgayHieuLucLuong || !CheckHSBL || !CheckCMND
                        || !CheckNgayCapCMND || !CheckNgayVaoNganh || !CheckNgayVaoCoQuan || !CheckNgayTuyenDung
                        || !CheckNgayVaoDang || !CheckSDT)
                    {
                        Check = false;
                    }
                    else
                    {
                        Check = true;
                    }
                    #endregion
                    if (KiemTraTonTai && KiemTraRong && Check && !KTGiamDoc && KiemTraDonVi)
                    {
                        #region BTbHocVien.UpDate
                        BTbHocVien.UpdateByExcel(new ETbHocVien
                        {
                            MaHV = MaHocVien,
                            TenHV = dt.Rows[i]["Họ và đệm"].ToString(),
                            Ten = dt.Rows[i]["Tên"].ToString(),
                            GioiTinh = dt.Rows[i]["Giới tính"].ToString(),
                            ChucVu = Int32.Parse(ChucVu),
                            PhongBan = Int32.Parse(PhongBan),
                            NgaySinh = NgaySinh,
                            DanToc = DanToc,
                            TinhTrangHD = TinhTrangHopDong,
                            ToNhom = ToNhom,
                            MaNgachLuong = MaNgachLuong,
                            BacLuong = BacLuong,
                            HeSoLuong = Double.Parse(HeSoLuong),
                            NgayHieuLucLuong = NgayHieuLucLuong,
                            LuongKhoan = LuongKhoan,
                            HeSoBaoLuu = Double.Parse(HeSoBaoLuu),
                            SoBHXH = SoBHXH,
                            SoBHYT = SoTheBHYT,
                            SoCMT = SoCMND,
                            NgayCapCMT = NgayCapCMND,
                            NoiCapCMT = NoiCapCMND,
                            TDVanHoa = Int32.Parse(TrinhDoVanHoa),
                            HocHam = HocHam,
                            HocVi = HocVi,
                            NganhNgheDaoTao = NganhNgheDT,
                            HinhThucDaoTao = HinhThucDaoTao,
                            TrinhDoQLKT = TrinhDoQLKT,
                            TrinhDoLLCT = TrinhDoLLCT,
                            NgayVaoNganh = NgayVaoNganh,
                            NgayVaoCoQuan = NgayVaoCoQuan,
                            NgayTuyenDung = NgayTuyenDung,
                            TrinhDo = Int32.Parse(TrinhDo),
                            CongViecDangLam = CongViecDangLam,
                            QueQuan = QueQuan,
                            DiaChi = ChoOHienNay,
                            Anh = Anh,
                            HieuTrinhThanNhan = HieuChinhThanNhan,
                            DangVien = DangVien,
                            NgayVaoDang = NgayVaoDang,
                            Sdt = SDT,
                            Email = Email,
                            MaLop = 1,
                            ChucVuTrongLop = ChucVuTrongLop,
                            MaDonVi = Int32.Parse(MaDV),
                            GhiChu = GhiChu,
                            TrangThaiTB = 0,
                            Loai = 0,
                            NguoiTao = Session["TenDN"].ToString()
                        });
                        #endregion
                    }
                }
                for (int k = 0; k < error.Count; k++)
                {
                    count += " + " + error[k].ToString() + "<br/>";
                }
                if (error.Count > 0)
                {
                    plError.Visible = true;
                    lbError.Text = "Bạn kiểm tra lại thông tin học viên:" + "<br/>" + count;
                }

            }
            OleDbcon.Close();
            btSaveEdit.Visible = false;
            System.IO.File.Delete(PathFile);
            LoadHocVien();
            Session["action"] = 2;
        }
        protected void btSaveUpdate_Click(object sender, EventArgs e)
        {
            string MaHocVien = "";
            OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathFile + ";Extended Properties=Excel 12.0;");
            OleDbCommand command = new OleDbCommand("SELECT * FROM ["+ddlSelectSheet.Text.Trim()+"]", OleDbcon);
            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(command);
            OleDbcon.Open();
            DataTable dt = new DataTable();
            objAdapter1.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                DataTable LayGiamDoc = BTbHocVien.LayGiamDoc(new ETbHocVien { MaDonVi = MaDonVi });
                DataTable dv = BTbDonVi.SelectAllDonViHocVien();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    KiemTraRong = true;
                    KiemTraTonTai = true;
                    Check = true;CheckNgaySinh=true; CheckHSL=true;CheckNgayHieuLucLuong=true;CheckHSBL=true;
                    CheckCMND=true;CheckNgayCapCMND=true;CheckNgayVaoNganh=true;CheckNgayVaoCoQuan=true;
                    CheckNgayTuyenDung = true; CheckNgayVaoDang = true; CheckSDT = true;
                    #region //Kiểm tra rỗng
                    KiemTraRong = true;
                    if (dt.Rows[i]["Họ và đệm"].ToString().Trim().Equals("") || dt.Rows[i]["Tên"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Giới tính"].ToString().Trim().Equals("") || dt.Rows[i]["Ngày sinh"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Đơn vị"].ToString().Trim().Equals("") || dt.Rows[i]["Số CMND"].ToString().Trim().Equals(""))
                    {
                        KiemTraRong = false;
                        error.Add("Lỗi bỏ trống trường Họ và đệm/ Tên/ Giới tính/ Ngày sinh/ Đơn vị của học viên " + dt.Rows[i]["STT"].ToString() + "!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại học viên
                    for (int a = 0; a < hv.Rows.Count; a++)
                    {
                        if (dt.Rows[i]["Số CMND"].ToString().ToLower().Trim() == hv.Rows[a]["SoCMT"].ToString().ToLower().Trim())
                        {
                            MaHocVien = hv.Rows[a]["MaHV"].ToString().Trim();
                            KiemTraTonTai = true;
                            break;
                        }
                        else
                        {
                            KiemTraTonTai = false;
                        }
                    }
                    if (!KiemTraTonTai)
                    {
                        error.Add("Học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại cột và lỗi định dạng int, fload, datetime
                    #region Họ và đệm
                    if (!dt.Columns.Contains("Họ và đệm"))
                    {
                        error.Add("Cột Họ và đệm không tồn tại");
                        break;
                    }
                    #endregion
                    #region Tên
                    if (!dt.Columns.Contains("Tên"))
                    {
                        error.Add("Cột Tên không tồn tại");
                        break;
                    }
                    #endregion
                    #region Giới tính
                    if (!dt.Columns.Contains("Giới tính"))
                    {
                        error.Add("Cột Giới tính không tồn tại");
                        break;
                    }
                    #endregion
                    #region Chức vụ
                    if (!dt.Columns.Contains("Chức vụ/ Chức danh"))
                    {
                        ChucVu = "-1";
                    }
                    else
                    {
                        for (int b = 0; b < cv.Rows.Count; b++)
                        {
                            if (dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == cv.Rows[b][1].ToString().ToLower().Trim())
                            {

                                ChucVu = cv.Rows[b][0].ToString().Trim();
                                if (KiemTraGiamDoc() && dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == "giám đốc")
                                {
                                    KTGiamDoc = true;
                                    error.Add("Chức vụ giám đốc của học viên " + dt.Rows[i]["STT"].ToString() + " thuộc đơn vị " + MaDonVi + " đã tồn tại!");
                                }
                                KTGiamDoc = false;
                                KiemTraCV = true;
                                break;
                            }
                            else
                            {
                                KiemTraCV = false;
                            }
                        }
                        if (!KiemTraCV)
                        {
                            ChucVu = "-1";
                            error.Add("Chức vụ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Phòng ban
                    if (!dt.Columns.Contains("Phòng ban"))
                    {
                        PhongBan = "-1";
                    }
                    else
                    {
                        for (int c = 0; c < pb.Rows.Count; c++)
                        {
                            if (dt.Rows[i]["Phòng ban"].ToString().ToLower().Trim() == pb.Rows[c][1].ToString().ToLower().Trim())
                            {

                                KiemTraPB = true;
                                PhongBan = pb.Rows[c][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraPB = false;
                            }
                        }
                        if (!KiemTraPB)
                        {
                            PhongBan = "-1";
                            error.Add("Phòng ban của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Ngày sinh
                    if (dt.Columns.Contains("Ngày sinh"))
                    {
                        if (!CheckDateTime(dt.Rows[i]["Ngày sinh"].ToString().Trim()))
                        {
                            error.Add("Kiểu dữ liệu ngày sinh của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                            CheckNgaySinh = false;
                        }
                        else
                        {
                            NgaySinh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày sinh"].ToString()).ToString("MM-dd-yyyy"));
                        }
                    }
                    else
                    {
                        error.Add("Cột ngày sinh không tồn tại");
                        break;
                    }
                    #endregion
                    #region Dân tộc
                    if (!dt.Columns.Contains("Dân tộc"))
                    {
                        DanToc = "";
                    }
                    else
                    {
                        for (int d = 0; d < dToc.Rows.Count; d++)
                        {
                            if (dt.Rows[i]["Dân tộc"].ToString().ToLower().Trim() == dToc.Rows[d][1].ToString().ToLower().Trim())
                            {
                                DanToc = dToc.Rows[d][1].ToString().Trim();
                                KiemTraDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraDT = false;
                            }
                        }
                        if (!KiemTraDT)
                        {
                            DanToc = "";
                            error.Add("Dân tộc của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Tình trạng hợp đồng
                    if (dt.Columns.Contains("Tình trạng hợp đồng"))
                    {
                        TinhTrangHopDong = dt.Rows[i]["Tình trạng hợp đồng"].ToString().Trim();
                    }
                    else
                    {
                        TinhTrangHopDong = "";
                    }
                    if (dt.Columns.Contains("Tổ nhóm"))
                    {
                        ToNhom = dt.Rows[i]["Tổ nhóm"].ToString().Trim();
                    }
                    else
                    {
                        ToNhom = "";
                    }
                    #endregion
                    #region Mã ngạch lương
                    if (!dt.Columns.Contains("Mã ngạch lương"))
                    {
                        MaNgachLuong = "";
                    }
                    else
                    {
                        for (int k = 0; k < MaNL.Rows.Count; k++)
                        {
                            if (dt.Rows[i]["Mã ngạch lương"].ToString().ToLower().Trim() == MaNL.Rows[k][0].ToString().ToLower().Trim())
                            {
                                MaNgachLuong = MaNL.Rows[k][0].ToString().Trim();
                                KiemTraMaNL = true;
                                MaNhomNL = MaNL.Rows[k][2].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraMaNL = false;
                            }
                        }
                        if (!KiemTraMaNL)
                        {
                            MaNgachLuong = "";
                            error.Add("Mã ngạch lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Bậc lương
                    if (!dt.Columns.Contains("Bậc lương"))
                    {
                        BacLuong = "";
                    }
                    else
                    {
                        for (int f = 0; f < BL.Rows.Count; f++)
                        {
                            if (dt.Rows[i]["Bậc lương"].ToString().ToLower().Trim() == BL.Rows[f][0].ToString().ToLower().Trim())
                            {
                                BacLuong = BL.Rows[f][0].ToString().Trim();
                                KiemTraBacLuong = true;
                                break;
                            }
                            else
                            {
                                KiemTraBacLuong = false;
                            }
                        }
                        if (!KiemTraBacLuong)
                        {
                            BacLuong = "";
                            error.Add("Bậc lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hệ số lương
                    if (dt.Columns.Contains("Hệ số lương"))
                    {
                        if (dt.Rows[i]["Hệ số lương"].ToString().Trim() == "")
                        {
                            HeSoLuong = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSL = false;
                            }
                            else
                            {
                                for (int g = 0; g < HSL.Rows.Count; g++)
                                {
                                    if (dt.Rows[i]["Hệ số lương"].ToString().ToLower().Trim() == HSL.Rows[g][0].ToString().ToLower().Trim() &&
                                        MaNhomNL == HSL.Rows[g][2].ToString().Trim())
                                    {
                                        HeSoLuong = HSL.Rows[g][0].ToString().Trim();
                                        KiemTraHSLuong = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSLuong = false;
                                    }
                                }
                                if (!KiemTraHSLuong)
                                {
                                    HeSoLuong = "-1";
                                    error.Add("Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoLuong = "-1";
                    }
                    #endregion
                    #region Ngày hiệu lực lương
                    if (dt.Columns.Contains("Ngày hiệu lực lương"))
                    {
                        if (dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim() == "")
                        {
                            NgayHieuLucLuong = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày hiệu lực lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayHieuLucLuong = false;
                            }
                            else { NgayHieuLucLuong = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày hiệu lực lương"].ToString()).ToString("MM-dd-yyyy")); }
                        }
                    }
                    else
                    {
                        NgayHieuLucLuong = DateTime.MinValue;
                    }
                    #endregion
                    #region Lương khoán
                    if (!dt.Columns.Contains("Lương khoán"))
                    {
                        LuongKhoan = "";
                    }
                    else
                    {
                        for (int h = 0; h < LK.Rows.Count; h++)
                        {
                            //ThongBao(dt.Rows[i][15].ToString());
                            if (dt.Rows[i]["Lương khoán"].ToString().ToLower().Trim() == LK.Rows[h][1].ToString().ToLower().Trim())
                            {
                                LuongKhoan = LK.Rows[h][1].ToString().Trim();
                                KiemTraLuongKhoan = true;
                                break;
                            }
                            else
                            {
                                KiemTraLuongKhoan = false;
                            }
                        }
                        if (!KiemTraLuongKhoan)
                        {
                            LuongKhoan = "";
                            error.Add("Lương khoán của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Hệ số bảo lưu
                    if (dt.Columns.Contains("Hệ số bảo lưu"))
                    {
                        if (dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim() == "")
                        {
                            HeSoBaoLuu = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSBL = false;
                            }
                            else
                            {
                                for (int j = 0; j < HSBL.Rows.Count; j++)
                                {
                                    if (dt.Rows[i]["Hệ số bảo lưu"].ToString().ToLower().Trim() == HSBL.Rows[j][0].ToString().ToLower().Trim())
                                    {
                                        HeSoBaoLuu = HSBL.Rows[j][0].ToString().Trim();
                                        KiemTraHSBL = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSBL = false;
                                    }
                                }
                                if (!KiemTraHSBL)
                                {
                                    HeSoBaoLuu = "";
                                    error.Add("Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoBaoLuu = "-1";
                    }
                    #endregion
                    #region Số BHXH
                    if (dt.Columns.Contains("Số sổ BHXH"))
                    {
                        SoBHXH = dt.Rows[i]["Số sổ BHXH"].ToString().Trim();
                    }
                    else
                    {
                        SoBHXH = "";
                    }
                    #endregion
                    #region Số thẻ BHYT
                    if (dt.Columns.Contains("Số thẻ BHYT"))
                    {
                        SoTheBHYT = dt.Rows[i]["Số thẻ BHYT"].ToString().Trim();
                    }
                    else
                    {
                        SoTheBHYT = "";
                    }
                    #endregion
                    #region Số CMND
                    if (dt.Columns.Contains("Số CMND"))
                    {
                        if (dt.Rows[i]["Số CMND"].ToString().Trim() == "")
                        {
                            SoCMND = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["Số CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckCMND = false;
                            }
                            else
                            {
                                SoCMND = dt.Rows[i]["Số CMND"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SoCMND = "";
                    }
                    #endregion
                    #region Ngày cấp
                    if (dt.Columns.Contains("Ngày cấp CMND"))
                    {
                        if (dt.Rows[i]["Ngày cấp CMND"].ToString().Trim() == "")
                        {
                            NgayCapCMND = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày cấp CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày cấp CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayCapCMND = false;
                            }
                            else
                            {
                                NgayCapCMND = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày cấp CMND"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayCapCMND = DateTime.MinValue;
                    }
                    #endregion
                    #region Nơi cấp
                    if (dt.Columns.Contains("Nơi cấp CMND"))
                    {
                        NoiCapCMND = dt.Rows[i]["Nơi cấp CMND"].ToString().Trim();
                    }
                    else
                    {
                        NoiCapCMND = "";
                    }
                    #endregion
                    #region Trình độ văn hóa
                    if (!dt.Columns.Contains("Trình độ văn hóa"))
                    {
                        TrinhDoVanHoa = "-1";
                    }
                    else
                    {
                        for (int h = 0; h < tdhv.Rows.Count; h++)
                        {
                            if (dt.Rows[i]["Trình độ văn hóa"].ToString().ToLower().Trim() == tdhv.Rows[h][1].ToString().ToLower().Trim())
                            {
                                KiemTraTDVH = true;
                                TrinhDoVanHoa = tdhv.Rows[h][0].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraTDVH = false;
                            }
                        }
                        if (!KiemTraTDVH)
                        {
                            TrinhDoVanHoa = "-1";
                            error.Add("Trình độ văn hóa của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Học hàm
                    if (dt.Columns.Contains("Học hàm"))
                    {
                        HocHam = dt.Rows[i]["Học hàm"].ToString().Trim();
                    }
                    else
                    {
                        HocHam = "";
                    }
                    #endregion
                    #region Học vị
                    if (dt.Columns.Contains("Học vị"))
                    {
                        HocVi = dt.Rows[i]["Học vị"].ToString().Trim();
                    }
                    else
                    {
                        HocVi = "";
                    }
                    #endregion
                    #region Ngành nghề đào tạo
                    if (!dt.Columns.Contains("Ngành nghề đào tạo"))
                    {
                        NganhNgheDT = "";
                    }
                    else
                    {
                        for (int j = 0; j < Nganh.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Ngành nghề đào tạo"].ToString().ToLower().Trim() == Nganh.Rows[j][1].ToString().ToLower().Trim())
                            {
                                NganhNgheDT = Nganh.Rows[j][1].ToString().Trim();
                                KiemTraNganh = true;
                                break;
                            }
                            else
                            {
                                KiemTraNganh = false;
                            }
                        }
                        if (!KiemTraNganh)
                        {
                            NganhNgheDT = "";
                            error.Add("Ngành nghề đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hình thức đào tạo
                    if (!dt.Columns.Contains("Hình thức đào tạo"))
                    {
                        HinhThucDaoTao = "";
                    }
                    else
                    {
                        for (int j = 0; j < HTDT.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Hình thức đào tạo"].ToString().ToLower().Trim() == HTDT.Rows[j][1].ToString().ToLower().Trim())
                            {
                                HinhThucDaoTao = HTDT.Rows[j][1].ToString().Trim();
                                KiemTraHTDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraHTDT = false;
                            }
                        }
                        if (!KiemTraHTDT)
                        {
                            HinhThucDaoTao = "";
                            error.Add("Hình thức đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Trình độ QLKT
                    if (dt.Columns.Contains("Trình độ QLKT"))
                    {
                        TrinhDoQLKT = dt.Rows[i]["Trình độ QLKT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoQLKT = "";
                    }
                    #endregion
                    #region Trình độ LLCT
                    if (dt.Columns.Contains("Trình độ LLCT"))
                    {
                        TrinhDoLLCT = dt.Rows[i]["Trình độ LLCT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoLLCT = "";
                    }
                    #endregion
                    #region Ngày vào ngành
                    if (dt.Columns.Contains("Ngày vào ngành"))
                    {
                        if (dt.Rows[i]["Ngày vào ngành"].ToString().Trim() == "")
                        {
                            NgayVaoNganh = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào ngành"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào ngành của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoNganh = false;
                            }
                            else
                            {
                                NgayVaoNganh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào ngành"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoNganh = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày vào cơ quan
                    if (dt.Columns.Contains("Ngày vào cơ quan"))
                    {
                        if (dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim() == "")
                        {
                            NgayVaoCoQuan = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào cơ quan của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoCoQuan = false;
                            }
                            else
                            {
                                NgayVaoCoQuan = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào cơ quan"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoCoQuan = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày tuyển dụng
                    if (dt.Columns.Contains("Ngày tuyển dụng"))
                    {
                        if (dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim() == "")
                        {
                            NgayTuyenDung = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày tuyển dụng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayTuyenDung = false;
                            }
                            else
                            {
                                NgayTuyenDung = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày tuyển dụng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayTuyenDung = DateTime.MinValue;
                    }
                    #endregion
                    #region Trình độ
                    if (!dt.Columns.Contains("Trình độ"))
                    {
                        TrinhDo = "-1";
                    }
                    else
                    {
                        for (int l = 0; l < tdcm.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Trình độ"].ToString().ToLower().Trim() == tdcm.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraTD = true;
                                TrinhDo = tdcm.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraTD = false;
                            }
                        }
                        if (!KiemTraTD)
                        {
                            TrinhDo = "-1";
                            error.Add("Trình độ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Công việc đang làm
                    if (dt.Columns.Contains("Công việc đang làm"))
                    {
                        CongViecDangLam = dt.Rows[i]["Công việc đang làm"].ToString().Trim();
                    }
                    else
                    {
                        CongViecDangLam = "";
                    }
                    #endregion
                    #region Quê quán
                    if (dt.Columns.Contains("Quê quán"))
                    {
                        QueQuan = dt.Rows[i]["Quê quán"].ToString().Trim();
                    }
                    else
                    {
                        QueQuan = "";
                    }
                    #endregion
                    #region Chỗ ở hiện nay
                    if (dt.Columns.Contains("Chỗ ở hiện nay"))
                    {
                        ChoOHienNay = dt.Rows[i]["Chỗ ở hiện nay"].ToString().Trim();
                    }
                    else
                    {
                        ChoOHienNay = "";
                    }
                    #endregion
                    #region Ảnh
                    if (dt.Columns.Contains("Ảnh"))
                    {
                        Anh = dt.Rows[i]["Ảnh"].ToString().Trim();
                    }
                    else
                    {
                        Anh = "";
                    }
                    #endregion
                    #region Hiệu chỉnh thân nhân
                    if (dt.Columns.Contains("Hiệu chỉnh thân nhân"))
                    {
                        HieuChinhThanNhan = dt.Rows[i]["Hiệu chỉnh thân nhân"].ToString().Trim();
                    }
                    else
                    {
                        HieuChinhThanNhan = "";
                    }
                    #endregion
                    #region Đảng viên
                    if (dt.Columns.Contains("Đảng viên"))
                    {
                        DangVien = dt.Rows[i]["Đảng viên"].ToString().Trim();
                    }
                    else
                    {
                        DangVien = "";
                    }
                    #endregion
                    #region Ngày vào đảng
                    if (dt.Columns.Contains("Ngày vào đảng"))
                    {
                        if (dt.Rows[i]["ngày vào đảng"].ToString().Trim() == "")
                        {
                            NgayVaoDang = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["ngày vào đảng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào đảng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoDang = false;
                            }
                            else
                            {
                                NgayVaoDang = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào đảng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoDang = DateTime.MinValue;
                    }
                    #endregion
                    #region SDT
                    if (dt.Columns.Contains("SDT"))
                    {
                        if (dt.Rows[i]["SDT"].ToString().Trim() == "")
                        {
                            SDT = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["SDT"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số điện thoại của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckSDT = false;
                            }
                            else
                            {
                                SDT = dt.Rows[i]["SDT"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SDT = "";
                    }
                    #endregion
                    #region Email
                    if (dt.Columns.Contains("Email"))
                    {
                        Email = dt.Rows[i]["Email"].ToString().Trim();
                    }
                    else
                    {
                        Email = "";
                    }
                    #endregion
                    #region CHức vụ trong lớp
                    if (dt.Columns.Contains("Chức vụ trong lớp"))
                    {
                        ChucVuTrongLop = dt.Rows[i]["Chức vụ trong lớp"].ToString().Trim();
                    }
                    else
                    {
                        ChucVuTrongLop = "";
                    }
                    #endregion
                    #region Ghi chú
                    if (dt.Columns.Contains("Ghi chú"))
                    {
                        GhiChu = dt.Rows[i]["Ghi chú"].ToString().Trim();
                    }
                    else
                    {
                        GhiChu = "";
                    }
                    #endregion
                    #region Đơn vị
                    if (!dt.Columns.Contains("Đơn vị"))
                    {
                        error.Add("Cột đơn vị không tồn tại");
                        break;
                    }
                    else
                    {
                        for (int l = 0; l < dv.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Đơn vị"].ToString().ToLower().Trim() == dv.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraDonVi = true;
                                MaDV = dv.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraDonVi = false;
                            }
                        }
                        if (!KiemTraDonVi)
                        {
                            error.Add("Đơn vị học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                            continue;
                        }
                    }
                    #endregion
                    if (!CheckNgaySinh || !CheckHSL || !CheckNgayHieuLucLuong || !CheckHSBL || !CheckCMND
                        || !CheckNgayCapCMND || !CheckNgayVaoNganh || !CheckNgayVaoCoQuan || !CheckNgayTuyenDung
                        || !CheckNgayVaoDang || !CheckSDT)
                    {
                        Check = false;
                    }
                    else
                    {
                        Check = true;
                    }
                    #endregion
                    if (KiemTraTonTai && KiemTraRong && Check && !KTGiamDoc && KiemTraDonVi)
                    {
                        #region BTbHocVien.UpDate
                        BTbHocVien.UpdateByExcel(new ETbHocVien
                        {
                            MaHV = MaHocVien,
                            TenHV = dt.Rows[i]["Họ và đệm"].ToString(),
                            Ten = dt.Rows[i]["Tên"].ToString(),
                            GioiTinh = dt.Rows[i]["Giới tính"].ToString(),
                            ChucVu = Int32.Parse(ChucVu),
                            PhongBan = Int32.Parse(PhongBan),
                            NgaySinh = NgaySinh,
                            DanToc = DanToc,
                            TinhTrangHD = TinhTrangHopDong,
                            ToNhom = ToNhom,
                            MaNgachLuong = MaNgachLuong,
                            BacLuong = BacLuong,
                            HeSoLuong = Double.Parse(HeSoLuong),
                            NgayHieuLucLuong = NgayHieuLucLuong,
                            LuongKhoan = LuongKhoan,
                            HeSoBaoLuu = Double.Parse(HeSoBaoLuu),
                            SoBHXH = SoBHXH,
                            SoBHYT = SoTheBHYT,
                            SoCMT = SoCMND,
                            NgayCapCMT = NgayCapCMND,
                            NoiCapCMT = NoiCapCMND,
                            TDVanHoa = Int32.Parse(TrinhDoVanHoa),
                            HocHam = HocHam,
                            HocVi = HocVi,
                            NganhNgheDaoTao = NganhNgheDT,
                            HinhThucDaoTao = HinhThucDaoTao,
                            TrinhDoQLKT = TrinhDoQLKT,
                            TrinhDoLLCT = TrinhDoLLCT,
                            NgayVaoNganh = NgayVaoNganh,
                            NgayVaoCoQuan = NgayVaoCoQuan,
                            NgayTuyenDung = NgayTuyenDung,
                            TrinhDo = Int32.Parse(TrinhDo),
                            CongViecDangLam = CongViecDangLam,
                            QueQuan = QueQuan,
                            DiaChi = ChoOHienNay,
                            Anh = Anh,
                            HieuTrinhThanNhan = HieuChinhThanNhan,
                            DangVien = DangVien,
                            NgayVaoDang = NgayVaoDang,
                            Sdt = SDT,
                            Email = Email,
                            MaLop = 1,
                            ChucVuTrongLop = ChucVuTrongLop,
                            MaDonVi = Int32.Parse(MaDV),
                            GhiChu = GhiChu,
                            TrangThaiTB = 0,
                            Loai = 0,
                            NguoiTao = Session["TenDN"].ToString()
                        });
                        #endregion
                    }
                }
                for (int k = 0; k < error.Count; k++)
                {
                    count += " + " + error[k].ToString() + "<br/>";
                }
                if (error.Count > 0)
                {
                    plError.Visible = true;
                    lbError.Text = "Bạn kiểm tra lại thông tin học viên:" + "<br/>" + count;
                }
            }
            OleDbcon.Close();
            dtView.Clear();
            gvDSView.DataSource = null;
            gvDSView.DataBind();
            plError.Visible = false;
            pnDSView.Visible = false;
            Session["action"] = 2;
            System.IO.File.Delete(PathFile);
            LoadHocVien();
        }

        protected void btSaveImport_Click(object sender, EventArgs e)
        {
            OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathFile + ";Extended Properties=Excel 12.0;");
            OleDbCommand command = new OleDbCommand("SELECT * FROM ["+ddlSelectSheet.Text.Trim()+"]", OleDbcon);
            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(command);
            OleDbcon.Open();
            DataTable dt = new DataTable();
            objAdapter1.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string MaHV = tb.GetID("TbHocVien", "MaHV", "HV");
                    KiemTraRong = true;
                    KiemTraTonTai = false;
                    Check = true; CheckNgaySinh = true; CheckHSL = true; CheckNgayHieuLucLuong = true; CheckHSBL = true;
                    CheckCMND = true; CheckNgayCapCMND = true; CheckNgayVaoNganh = true; CheckNgayVaoCoQuan = true;
                    CheckNgayTuyenDung = true; CheckNgayVaoDang = true; CheckSDT = true;
                    #region //Kiểm tra rỗng
                    KiemTraRong = true;
                    if (dt.Rows[i]["Họ và đệm"].ToString().Trim().Equals("") || dt.Rows[i]["Tên"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Giới tính"].ToString().Trim().Equals("") || dt.Rows[i]["Ngày sinh"].ToString().Trim().Equals("") ||
                        dt.Rows[i]["Đơn vị"].ToString().Trim().Equals("") || dt.Rows[i]["Số CMND"].ToString().Trim().Equals(""))
                    {
                        KiemTraRong = false;
                        error.Add("Lỗi bỏ trống trường Họ và đệm/ Tên/ Giới tính/ Ngày sinh/ Đơn vị của học viên " + dt.Rows[i]["STT"].ToString() + "!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại học viên
                    for (int a = 0; a < hv.Rows.Count; a++)
                    {
                        
                        if (dt.Rows[i]["Số CMND"].ToString().ToLower().Trim() == hv.Rows[a]["SoCMT"].ToString().ToLower().Trim())
                        {
                            KiemTraTonTai = true;
                            break;
                        }
                        else
                        {
                            KiemTraTonTai = false;
                        }
                    }
                    if (KiemTraTonTai)
                    {
                        error.Add("Học viên " + dt.Rows[i]["STT"].ToString() + " đã tồn tại!");
                        continue;
                    }
                    #endregion
                    #region // Kiểm tra tồn tại cột và lỗi định dạng int, fload, datetime
                    #region Họ và đệm
                    if (!dt.Columns.Contains("Họ và đệm"))
                    {
                        error.Add("Cột Họ và đệm không tồn tại");
                        break;
                    }
                    #endregion
                    #region Tên
                    if (!dt.Columns.Contains("Tên"))
                    {
                        error.Add("Cột Tên không tồn tại");
                        break;
                    }
                    #endregion
                    #region Giới tính
                    if (!dt.Columns.Contains("Giới tính"))
                    {
                        error.Add("Cột Giới tính không tồn tại");
                        break;
                    }
                    #endregion
                    #region Chức vụ
                    if (!dt.Columns.Contains("Chức vụ/ Chức danh"))
                    {
                        ChucVu = "-1";
                    }
                    else
                    {
                        for (int b = 0; b < cv.Rows.Count; b++)
                        {
                            if (dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == cv.Rows[b][1].ToString().ToLower().Trim())
                            {

                                ChucVu = cv.Rows[b][0].ToString().Trim();
                                if (KiemTraGiamDoc() && dt.Rows[i]["Chức vụ/ chức danh"].ToString().ToLower().Trim() == "giám đốc")
                                {
                                    KTGiamDoc = true;
                                    error.Add("Chức vụ giám đốc của học viên " + dt.Rows[i]["STT"].ToString() + " thuộc đơn vị " + MaDonVi + " đã tồn tại!");
                                }
                                KTGiamDoc = false;
                                KiemTraCV = true;
                                break;
                            }
                            else
                            {
                                KiemTraCV = false;
                            }
                        }
                        if (!KiemTraCV)
                        {
                            ChucVu = "-1";
                            error.Add("Chức vụ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Phòng ban
                    if (!dt.Columns.Contains("Phòng ban"))
                    {
                        PhongBan = "-1";
                    }
                    else
                    {
                        for (int c = 0; c < pb.Rows.Count; c++)
                        {
                            if (dt.Rows[i]["Phòng ban"].ToString().ToLower().Trim() == pb.Rows[c][1].ToString().ToLower().Trim())
                            {

                                KiemTraPB = true;
                                PhongBan = pb.Rows[c][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraPB = false;
                            }
                        }
                        if (!KiemTraPB)
                        {
                            PhongBan = "-1";
                            error.Add("Phòng ban của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Ngày sinh
                    if (dt.Columns.Contains("Ngày sinh"))
                    {
                        if (!CheckDateTime(dt.Rows[i]["Ngày sinh"].ToString().Trim()))
                        {
                            error.Add("Kiểu dữ liệu ngày sinh của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                            CheckNgaySinh = false;
                        }
                        else
                        {
                            NgaySinh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày sinh"].ToString()).ToString("MM-dd-yyyy"));
                        }
                    }
                    else
                    {
                        error.Add("Cột ngày sinh không tồn tại");
                        break;
                    }
                    #endregion
                    #region Dân tộc
                    if (!dt.Columns.Contains("Dân tộc"))
                    {
                        DanToc = "";
                    }
                    else
                    {
                        for (int d = 0; d < dToc.Rows.Count; d++)
                        {
                            if (dt.Rows[i]["Dân tộc"].ToString().ToLower().Trim() == dToc.Rows[d][1].ToString().ToLower().Trim())
                            {
                                DanToc = dToc.Rows[d][1].ToString().Trim();
                                KiemTraDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraDT = false;
                            }
                        }
                        if (!KiemTraDT)
                        {
                            DanToc = "";
                            error.Add("Dân tộc của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Tình trạng hợp đồng
                    if (dt.Columns.Contains("Tình trạng hợp đồng"))
                    {
                        TinhTrangHopDong = dt.Rows[i]["Tình trạng hợp đồng"].ToString().Trim();
                    }
                    else
                    {
                        TinhTrangHopDong = "";
                    }
                    if (dt.Columns.Contains("Tổ nhóm"))
                    {
                        ToNhom = dt.Rows[i]["Tổ nhóm"].ToString().Trim();
                    }
                    else
                    {
                        ToNhom = "";
                    }
                    #endregion
                    #region Mã ngạch lương
                    if (!dt.Columns.Contains("Mã ngạch lương"))
                    {
                        MaNgachLuong = "";
                    }
                    else
                    {
                        for (int k = 0; k < MaNL.Rows.Count; k++)
                        {
                            if (dt.Rows[i]["Mã ngạch lương"].ToString().ToLower().Trim() == MaNL.Rows[k][0].ToString().ToLower().Trim())
                            {
                                MaNgachLuong = MaNL.Rows[k][0].ToString().Trim();
                                KiemTraMaNL = true;
                                MaNhomNL = MaNL.Rows[k][2].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraMaNL = false;
                            }
                        }
                        if (!KiemTraMaNL)
                        {
                            MaNgachLuong = "";
                            error.Add("Mã ngạch lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Bậc lương
                    if (!dt.Columns.Contains("Bậc lương"))
                    {
                        BacLuong = "";
                    }
                    else
                    {
                        for (int f = 0; f < BL.Rows.Count; f++)
                        {
                            if (dt.Rows[i]["Bậc lương"].ToString().ToLower().Trim() == BL.Rows[f][0].ToString().ToLower().Trim())
                            {
                                BacLuong = BL.Rows[f][0].ToString().Trim();
                                KiemTraBacLuong = true;
                                break;
                            }
                            else
                            {
                                KiemTraBacLuong = false;
                            }
                        }
                        if (!KiemTraBacLuong)
                        {
                            BacLuong = "";
                            error.Add("Bậc lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hệ số lương
                    if (dt.Columns.Contains("Hệ số lương"))
                    {
                        if (dt.Rows[i]["Hệ số lương"].ToString().Trim() == "")
                        {
                            HeSoLuong = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSL = false;
                            }
                            else
                            {
                                for (int g = 0; g < HSL.Rows.Count; g++)
                                {
                                    if (dt.Rows[i]["Hệ số lương"].ToString().ToLower().Trim() == HSL.Rows[g][0].ToString().ToLower().Trim() &&
                                        MaNhomNL == HSL.Rows[g][2].ToString().Trim())
                                    {
                                        HeSoLuong = HSL.Rows[g][0].ToString().Trim();
                                        KiemTraHSLuong = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSLuong = false;
                                    }
                                }
                                if (!KiemTraHSLuong)
                                {
                                    HeSoLuong = "-1";
                                    error.Add("Hệ số lương của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoLuong = "-1";
                    }
                    #endregion
                    #region Ngày hiệu lực lương
                    if (dt.Columns.Contains("Ngày hiệu lực lương"))
                    {
                        if (dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim() == "")
                        {
                            NgayHieuLucLuong = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày hiệu lực lương"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày hiệu lực lương của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayHieuLucLuong = false;
                            }
                            else { NgayHieuLucLuong = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày hiệu lực lương"].ToString()).ToString("MM-dd-yyyy")); }
                        }
                    }
                    else
                    {
                        NgayHieuLucLuong = DateTime.MinValue;
                    }
                    #endregion
                    #region Lương khoán
                    if (!dt.Columns.Contains("Lương khoán"))
                    {
                        LuongKhoan = "";
                    }
                    else
                    {
                        for (int h = 0; h < LK.Rows.Count; h++)
                        {
                            //ThongBao(dt.Rows[i][15].ToString());
                            if (dt.Rows[i]["Lương khoán"].ToString().ToLower().Trim() == LK.Rows[h][1].ToString().ToLower().Trim())
                            {
                                LuongKhoan = LK.Rows[h][1].ToString().Trim();
                                KiemTraLuongKhoan = true;
                                break;
                            }
                            else
                            {
                                KiemTraLuongKhoan = false;
                            }
                        }
                        if (!KiemTraLuongKhoan)
                        {
                            LuongKhoan = "";
                            error.Add("Lương khoán của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Hệ số bảo lưu
                    if (dt.Columns.Contains("Hệ số bảo lưu"))
                    {
                        if (dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim() == "")
                        {
                            HeSoBaoLuu = "-1";
                        }
                        else
                        {
                            if (!CheckFloat(dt.Rows[i]["Hệ số bảo lưu"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số thực!");
                                CheckHSBL = false;
                            }
                            else
                            {
                                for (int j = 0; j < HSBL.Rows.Count; j++)
                                {
                                    if (dt.Rows[i]["Hệ số bảo lưu"].ToString().ToLower().Trim() == HSBL.Rows[j][0].ToString().ToLower().Trim())
                                    {
                                        HeSoBaoLuu = HSBL.Rows[j][0].ToString().Trim();
                                        KiemTraHSBL = true;
                                        break;
                                    }
                                    else
                                    {
                                        KiemTraHSBL = false;
                                    }
                                }
                                if (!KiemTraHSBL)
                                {
                                    HeSoBaoLuu = "";
                                    error.Add("Hệ số bảo lưu của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                                }
                            }
                        }
                    }
                    else
                    {
                        HeSoBaoLuu = "-1";
                    }
                    #endregion
                    #region Số BHXH
                    if (dt.Columns.Contains("Số sổ BHXH"))
                    {
                        SoBHXH = dt.Rows[i]["Số sổ BHXH"].ToString().Trim();
                    }
                    else
                    {
                        SoBHXH = "";
                    }
                    #endregion
                    #region Số thẻ BHYT
                    if (dt.Columns.Contains("Số thẻ BHYT"))
                    {
                        SoTheBHYT = dt.Rows[i]["Số thẻ BHYT"].ToString().Trim();
                    }
                    else
                    {
                        SoTheBHYT = "";
                    }
                    #endregion
                    #region Số CMND
                    if (dt.Columns.Contains("Số CMND"))
                    {
                        if (dt.Rows[i]["Số CMND"].ToString().Trim() == "")
                        {
                            SoCMND = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["Số CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckCMND = false;
                            }
                            else
                            {
                                SoCMND = dt.Rows[i]["Số CMND"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SoCMND = "";
                    }
                    #endregion
                    #region Ngày cấp
                    if (dt.Columns.Contains("Ngày cấp CMND"))
                    {
                        if (dt.Rows[i]["Ngày cấp CMND"].ToString().Trim() == "")
                        {
                            NgayCapCMND = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày cấp CMND"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày cấp CMTND của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayCapCMND = false;
                            }
                            else
                            {
                                NgayCapCMND = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày cấp CMND"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayCapCMND = DateTime.MinValue;
                    }
                    #endregion
                    #region Nơi cấp
                    if (dt.Columns.Contains("Nơi cấp CMND"))
                    {
                        NoiCapCMND = dt.Rows[i]["Nơi cấp CMND"].ToString().Trim();
                    }
                    else
                    {
                        NoiCapCMND = "";
                    }
                    #endregion
                    #region Trình độ văn hóa
                    if (!dt.Columns.Contains("Trình độ văn hóa"))
                    {
                        TrinhDoVanHoa = "-1";
                    }
                    else
                    {
                        for (int h = 0; h < tdhv.Rows.Count; h++)
                        {
                            if (dt.Rows[i]["Trình độ văn hóa"].ToString().ToLower().Trim() == tdhv.Rows[h][1].ToString().ToLower().Trim())
                            {
                                KiemTraTDVH = true;
                                TrinhDoVanHoa = tdhv.Rows[h][0].ToString().Trim();
                                break;
                            }
                            else
                            {
                                KiemTraTDVH = false;
                            }
                        }
                        if (!KiemTraTDVH)
                        {
                            TrinhDoVanHoa = "-1";
                            error.Add("Trình độ văn hóa của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Học hàm
                    if (dt.Columns.Contains("Học hàm"))
                    {
                        HocHam = dt.Rows[i]["Học hàm"].ToString().Trim();
                    }
                    else
                    {
                        HocHam = "";
                    }
                    #endregion
                    #region Học vị
                    if (dt.Columns.Contains("Học vị"))
                    {
                        HocVi = dt.Rows[i]["Học vị"].ToString().Trim();
                    }
                    else
                    {
                        HocVi = "";
                    }
                    #endregion
                    #region Ngành nghề đào tạo
                    if (!dt.Columns.Contains("Ngành nghề đào tạo"))
                    {
                        NganhNgheDT = "";
                    }
                    else
                    {
                        for (int j = 0; j < Nganh.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Ngành nghề đào tạo"].ToString().ToLower().Trim() == Nganh.Rows[j][1].ToString().ToLower().Trim())
                            {
                                NganhNgheDT = Nganh.Rows[j][1].ToString().Trim();
                                KiemTraNganh = true;
                                break;
                            }
                            else
                            {
                                KiemTraNganh = false;
                            }
                        }
                        if (!KiemTraNganh)
                        {
                            NganhNgheDT = "";
                            error.Add("Ngành nghề đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Hình thức đào tạo
                    if (!dt.Columns.Contains("Hình thức đào tạo"))
                    {
                        HinhThucDaoTao = "";
                    }
                    else
                    {
                        for (int j = 0; j < HTDT.Rows.Count; j++)
                        {
                            if (dt.Rows[i]["Hình thức đào tạo"].ToString().ToLower().Trim() == HTDT.Rows[j][1].ToString().ToLower().Trim())
                            {
                                HinhThucDaoTao = HTDT.Rows[j][1].ToString().Trim();
                                KiemTraHTDT = true;
                                break;
                            }
                            else
                            {
                                KiemTraHTDT = false;
                            }
                        }
                        if (!KiemTraHTDT)
                        {
                            HinhThucDaoTao = "";
                            error.Add("Hình thức đào tạo của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }

                    }
                    #endregion
                    #region Trình độ QLKT
                    if (dt.Columns.Contains("Trình độ QLKT"))
                    {
                        TrinhDoQLKT = dt.Rows[i]["Trình độ QLKT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoQLKT = "";
                    }
                    #endregion
                    #region Trình độ LLCT
                    if (dt.Columns.Contains("Trình độ LLCT"))
                    {
                        TrinhDoLLCT = dt.Rows[i]["Trình độ LLCT"].ToString().Trim();
                    }
                    else
                    {
                        TrinhDoLLCT = "";
                    }
                    #endregion
                    #region Ngày vào ngành
                    if (dt.Columns.Contains("Ngày vào ngành"))
                    {
                        if (dt.Rows[i]["Ngày vào ngành"].ToString().Trim() == "")
                        {
                            NgayVaoNganh = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào ngành"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào ngành của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoNganh = false;
                            }
                            else
                            {
                                NgayVaoNganh = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào ngành"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoNganh = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày vào cơ quan
                    if (dt.Columns.Contains("Ngày vào cơ quan"))
                    {
                        if (dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim() == "")
                        {
                            NgayVaoCoQuan = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày vào cơ quan"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào cơ quan của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoCoQuan = false;
                            }
                            else
                            {
                                NgayVaoCoQuan = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào cơ quan"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoCoQuan = DateTime.MinValue;
                    }
                    #endregion
                    #region Ngày tuyển dụng
                    if (dt.Columns.Contains("Ngày tuyển dụng"))
                    {
                        if (dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim() == "")
                        {
                            NgayTuyenDung = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["Ngày tuyển dụng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày tuyển dụng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayTuyenDung = false;
                            }
                            else
                            {
                                NgayTuyenDung = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày tuyển dụng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayTuyenDung = DateTime.MinValue;
                    }
                    #endregion
                    #region Trình độ
                    if (!dt.Columns.Contains("Trình độ"))
                    {
                        TrinhDo = "-1";
                    }
                    else
                    {
                        for (int l = 0; l < tdcm.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Trình độ"].ToString().ToLower().Trim() == tdcm.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraTD = true;
                                TrinhDo = tdcm.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraTD = false;
                            }
                        }
                        if (!KiemTraTD)
                        {
                            TrinhDo = "-1";
                            error.Add("Trình độ của học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                        }
                    }
                    #endregion
                    #region Công việc đang làm
                    if (dt.Columns.Contains("Công việc đang làm"))
                    {
                        CongViecDangLam = dt.Rows[i]["Công việc đang làm"].ToString().Trim();
                    }
                    else
                    {
                        CongViecDangLam = "";
                    }
                    #endregion
                    #region Quê quán
                    if (dt.Columns.Contains("Quê quán"))
                    {
                        QueQuan = dt.Rows[i]["Quê quán"].ToString().Trim();
                    }
                    else
                    {
                        QueQuan = "";
                    }
                    #endregion
                    #region Chỗ ở hiện nay
                    if (dt.Columns.Contains("Chỗ ở hiện nay"))
                    {
                        ChoOHienNay = dt.Rows[i]["Chỗ ở hiện nay"].ToString().Trim();
                    }
                    else
                    {
                        ChoOHienNay = "";
                    }
                    #endregion
                    #region Ảnh
                    if (dt.Columns.Contains("Ảnh"))
                    {
                        Anh = dt.Rows[i]["Ảnh"].ToString().Trim();
                    }
                    else
                    {
                        Anh = "";
                    }
                    #endregion
                    #region Hiệu chỉnh thân nhân
                    if (dt.Columns.Contains("Hiệu chỉnh thân nhân"))
                    {
                        HieuChinhThanNhan = dt.Rows[i]["Hiệu chỉnh thân nhân"].ToString().Trim();
                    }
                    else
                    {
                        HieuChinhThanNhan = "";
                    }
                    #endregion
                    #region Đảng viên
                    if (dt.Columns.Contains("Đảng viên"))
                    {
                        DangVien = dt.Rows[i]["Đảng viên"].ToString().Trim();
                    }
                    else
                    {
                        DangVien = "";
                    }
                    #endregion
                    #region Ngày vào đảng
                    if (dt.Columns.Contains("Ngày vào đảng"))
                    {
                        if (dt.Rows[i]["ngày vào đảng"].ToString().Trim() == "")
                        {
                            NgayVaoDang = DateTime.MinValue;
                        }
                        else
                        {
                            if (!CheckDateTime(dt.Rows[i]["ngày vào đảng"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu ngày vào đảng của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng tháng/ngày/năm");
                                CheckNgayVaoDang = false;
                            }
                            else
                            {
                                NgayVaoDang = DateTime.Parse(DateTime.Parse(dt.Rows[i]["Ngày vào đảng"].ToString()).ToString("MM-dd-yyyy"));
                            }
                        }
                    }
                    else
                    {
                        NgayVaoDang = DateTime.MinValue;
                    }
                    #endregion
                    #region SDT
                    if (dt.Columns.Contains("SDT"))
                    {
                        if (dt.Rows[i]["SDT"].ToString().Trim() == "")
                        {
                            SDT = "";
                        }
                        else
                        {
                            if (!CheckInt(dt.Rows[i]["SDT"].ToString().Trim()))
                            {
                                error.Add("Kiểu dữ liệu Số điện thoại của học viên " + dt.Rows[i]["STT"].ToString() + " không đúng! Nhập dạng số!");
                                CheckSDT = false;
                            }
                            else
                            {
                                SDT = dt.Rows[i]["SDT"].ToString().Trim();
                            }
                        }
                    }
                    else
                    {
                        SDT = "";
                    }
                    #endregion
                    #region Email
                    if (dt.Columns.Contains("Email"))
                    {
                        Email = dt.Rows[i]["Email"].ToString().Trim();
                    }
                    else
                    {
                        Email = "";
                    }
                    #endregion
                    #region CHức vụ trong lớp
                    if (dt.Columns.Contains("Chức vụ trong lớp"))
                    {
                        ChucVuTrongLop = dt.Rows[i]["Chức vụ trong lớp"].ToString().Trim();
                    }
                    else
                    {
                        ChucVuTrongLop = "";
                    }
                    #endregion
                    #region Ghi chú
                    if (dt.Columns.Contains("Ghi chú"))
                    {
                        GhiChu = dt.Rows[i]["Ghi chú"].ToString().Trim();
                    }
                    else
                    {
                        GhiChu = "";
                    }
                    #endregion
                    #region Đơn vị
                    if (!dt.Columns.Contains("Đơn vị"))
                    {
                        error.Add("Cột đơn vị không tồn tại");
                        break;
                    }
                    else
                    {
                        for (int l = 0; l < dv.Rows.Count; l++)
                        {
                            if (dt.Rows[i]["Đơn vị"].ToString().ToLower().Trim() == dv.Rows[l][1].ToString().ToLower().Trim())
                            {
                                KiemTraDonVi = true;
                                MaDV = dv.Rows[l][0].ToString();
                                break;
                            }
                            else
                            {
                                KiemTraDonVi = false;
                            }
                        }
                        if (!KiemTraDonVi)
                        {
                            error.Add("Đơn vị học viên " + dt.Rows[i]["STT"].ToString() + " không tồn tại!");
                            continue;
                        }
                    }
                    #endregion
                    if (!CheckNgaySinh || !CheckHSL || !CheckNgayHieuLucLuong || !CheckHSBL || !CheckCMND
                        || !CheckNgayCapCMND || !CheckNgayVaoNganh || !CheckNgayVaoCoQuan || !CheckNgayTuyenDung
                        || !CheckNgayVaoDang || !CheckSDT)
                    {
                        Check = false;
                    }
                    else
                    {
                        Check = true;
                    }
                    #endregion
                    if (!KiemTraTonTai && KiemTraRong && Check && !KTGiamDoc && KiemTraDonVi)
                    {
                        //try
                        //{
                        #region BTbHocVien.Insert
                        BTbHocVien.Insert(new ETbHocVien
                        {
                            MaHV = MaHV,
                            TenHV = dt.Rows[i]["Họ và đệm"].ToString(),
                            Ten = dt.Rows[i]["Tên"].ToString(),
                            GioiTinh = dt.Rows[i]["Giới tính"].ToString(),
                            ChucVu = Int32.Parse(ChucVu),
                            PhongBan = Int32.Parse(PhongBan),
                            NgaySinh = NgaySinh,
                            DanToc = DanToc,
                            TinhTrangHD = TinhTrangHopDong,
                            ToNhom = ToNhom,
                            MaNgachLuong = MaNgachLuong,
                            BacLuong = BacLuong,
                            HeSoLuong = Double.Parse(HeSoLuong),
                            NgayHieuLucLuong = NgayHieuLucLuong,
                            LuongKhoan = LuongKhoan,
                            HeSoBaoLuu = Double.Parse(HeSoBaoLuu),
                            SoBHXH = SoBHXH,
                            SoBHYT = SoTheBHYT,
                            SoCMT = SoCMND,
                            NgayCapCMT = NgayCapCMND,
                            NoiCapCMT = NoiCapCMND,
                            TDVanHoa = Int32.Parse(TrinhDoVanHoa),
                            HocHam = HocHam,
                            HocVi = HocVi,
                            NganhNgheDaoTao = NganhNgheDT,
                            HinhThucDaoTao = HinhThucDaoTao,
                            TrinhDoQLKT = TrinhDoQLKT,
                            TrinhDoLLCT = TrinhDoLLCT,
                            NgayVaoNganh = NgayVaoNganh,
                            NgayVaoCoQuan = NgayVaoCoQuan,
                            NgayTuyenDung = NgayTuyenDung,
                            TrinhDo = Int32.Parse(TrinhDo),
                            CongViecDangLam = CongViecDangLam,
                            QueQuan = QueQuan,
                            DiaChi = ChoOHienNay,
                            Anh = Anh,
                            HieuTrinhThanNhan = HieuChinhThanNhan,
                            DangVien = DangVien,
                            NgayVaoDang = NgayVaoDang,
                            Sdt = SDT,
                            Email = Email,
                            MaLop = 1,
                            ChucVuTrongLop = ChucVuTrongLop,
                            MaDonVi = Int32.Parse(MaDV),
                            GhiChu = GhiChu,
                            TrangThaiTB = 0,
                            Loai = 0,
                            NguoiTao = Session["TenDN"].ToString()
                        });
                        #endregion
                        BTbDangNhap.Insert(new ETbDangNhap
                        {
                            TenDangNhap = MaHV,
                            MatKhau = dn.GetMD5("12345678" + dn.Radomchar()),
                            Quyen = "4",
                            RadomPass = dn.Radomchar(),
                            KhoaTaiKhoan = 0
                        });
                        //}
                        //catch (Exception ex)
                        //{
                        //    Response.Write("");
                        //}
                    }
                }
            }
            OleDbcon.Close();
            dtView.Clear();
            gvDSView.DataSource = null;
            gvDSView.DataBind();
            plError.Visible = false;
            pnDSView.Visible = false;
            Session["action"] = 1;
            System.IO.File.Delete(PathFile);
            LoadHocVien();
        }
        void LoadUploadFile(FileUpload FileLoad)
        {
            if (FileLoad.HasFile)
            {
                string filename = FileLoad.FileName;
                string[] str = FileLoad.FileName.Split('.');
                string ten = str[0];
                string duoi = str[1];
                if (duoi == "xls" || duoi == "xlsx")
                {
                    string path = string.Concat(Server.MapPath("~/uploads/Files" + DateTime.Now.ToString("yyyymmddhhmmssfff") + ten + "." + duoi));
                    PathFile = path;
                    FileLoad.PostedFile.SaveAs(path);
                    OleDbConnection oledbcon = new OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" + path + ";extended properties=excel 12.0;");
                    oledbcon.Open();
                    OleDbCommand cmdExcel = new OleDbCommand();
                    OleDbDataAdapter oda = new OleDbDataAdapter();
                    cmdExcel.Connection = oledbcon;
                    ddlSelectSheet.Items.Clear();
                    ddlSelectSheet.DataSource = oledbcon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    ddlSelectSheet.DataTextField = "TABLE_NAME";
                    ddlSelectSheet.DataValueField = "TABLE_NAME";
                    ddlSelectSheet.DataBind();
                    oledbcon.Close();
                }
                else
                {
                    ThongBao("Bạn phải nhập file định dạng excel!");
                }
            }
            else
            {
                ThongBao("Bạn chưa tải tệp tin!");
            }
        }
        protected void btLoadImport_Click(object sender, EventArgs e)
        {
            LoadUploadFile(fuImportExcel);
            btOpen.Visible = true;
            btSave.Visible = true;
            ddlSelectSheet.Visible = true;
        }
        protected void btLoadUpdate_Click(object sender, EventArgs e)
        {
            LoadUploadFile(fuSuaExcel);
            btEdit.Visible = true;
            btSaveUpdate.Visible = true;
            ddlSelectSheet.Visible = true;
        }

        protected void ddlSelectSheet_SelectedIndexChanged(object sender, EventArgs e)
        {
            //btOpen.Visible = true;
            //btSaveImport.Visible = true;
            //LoadUploadFile(fuSuaExcel);
        }
    }
}